struct dnnl::ukernel::brgemm_pack_b

Overview

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

    brgemm_pack_b();

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

    // methods

    bool need_pack() const;
    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

brgemm_pack_b()

Default constructor. Produces an empty object.

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

Constructs a BRGeMM ukernel packing tensor B object.

Parameters:

K

Dimension K.

N

Dimension N.

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

bool need_pack() const

Returns the flag if packing is expected by BRGeMM ukernel kernel.

void generate()

Generates an executable part of BRGeMM ukernel packing B object.

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

Executes a BRGeMM ukernel packing tensor B object.

Parameters:

in

Pointer to an input buffer.

out

Pointer to an output buffer.