struct dnnl::ukernel::transform

struct dnnl::ukernel::transform#

Overview#

Transform ukernel. More…

#include <dnnl_ukernel.hpp>

struct transform: public dnnl::handle
{
    // construction

    transform();

    transform(
        memory::dim K,
        memory::dim N,
        pack_type in_pack_type,
        memory::dim in_ld,
        memory::dim out_ld,
        memory::data_type in_dt,
        memory::data_type out_dt,
        bool allow_empty = false
        );

    // methods

    void generate();
    void execute(const void* in, void* out) const;
};

Inherited Members#

public:
    // methods

    handle<T, traits>& operator = (const handle<T, traits>&);
    handle<T, traits>& operator = (handle<T, traits>&&);
    void reset(T t, bool weak = false);
    T get(bool allow_empty = false) const;
    operator T () const;
    operator bool () const;
    bool operator == (const handle<T, traits>& other) const;
    bool operator != (const handle& other) const;

Detailed Documentation#

Transform ukernel.

Construction#

transform()

Default constructor. Produces an empty object.

transform(
    memory::dim K,
    memory::dim N,
    pack_type in_pack_type,
    memory::dim in_ld,
    memory::dim out_ld,
    memory::data_type in_dt,
    memory::data_type out_dt,
    bool allow_empty = false
    )

Constructs a transform object.

Parameters:

K

Dimension K.

N

Dimension N.

in_pack_type

Input packing type. Must be one of pack_type::no_trans, or pack_type::trans.

in_ld

Input leading dimension.

out_ld

Output leading dimension. Specifies a block by N dimension during data packing.

in_dt

Input data type.

out_dt

Output data type.

allow_empty

A flag signifying whether construction is allowed to fail without throwing an exception. In this case an empty object will be produced. This flag is optional and defaults to false.

Methods#

void generate()

Generates an executable part of transform object.

void execute(const void* in, void* out) const

Executes a transform object.

Parameters:

in

Pointer to an input buffer.

out

Pointer to an output buffer.