struct dnnl::ukernel::transform

Overview

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

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.