.. index:: pair: struct; dnnl::ukernel::transform .. _doxid-structdnnl_1_1ukernel_1_1transform: struct dnnl::ukernel::transform =============================== .. toctree:: :hidden: Overview ~~~~~~~~ Transform ukernel. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include struct transform: public :ref:`dnnl::handle` { // construction :ref:`transform`(); :ref:`transform`( :ref:`memory::dim` K, :ref:`memory::dim` N, :ref:`pack_type` in_pack_type, :ref:`memory::dim` in_ld, :ref:`memory::dim` out_ld, :ref:`memory::data_type` in_dt, :ref:`memory::data_type` out_dt, bool allow_empty = false ); // methods void :ref:`generate`(); void :ref:`execute`(const void* in, void* out) const; }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // methods :ref:`handle`& :ref:`operator =` (const :ref:`handle`&); :ref:`handle`& :ref:`operator =` (:ref:`handle`&&); void :ref:`reset`(T t, bool weak = false); T :ref:`get`(bool allow_empty = false) const; :ref:`operator T` () const; :ref:`operator bool` () const; bool :ref:`operator ==` (const :ref:`handle`& other) const; bool :ref:`operator !=` (const :ref:`handle`& other) const; .. _details-structdnnl_1_1ukernel_1_1transform: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Transform ukernel. Construction ------------ .. index:: pair: function; transform .. _doxid-structdnnl_1_1ukernel_1_1transform_1a7c2caec8844bba799da0a2b19c1a6477: .. ref-code-block:: cpp :class: doxyrest-title-code-block transform() Default constructor. Produces an empty object. .. index:: pair: function; transform .. _doxid-structdnnl_1_1ukernel_1_1transform_1a3d88aae628d7310ad00d53bafe5bf00b: .. ref-code-block:: cpp :class: doxyrest-title-code-block transform( :ref:`memory::dim` K, :ref:`memory::dim` N, :ref:`pack_type` in_pack_type, :ref:`memory::dim` in_ld, :ref:`memory::dim` out_ld, :ref:`memory::data_type` in_dt, :ref:`memory::data_type` out_dt, bool allow_empty = false ) Constructs a transform object. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - K - Dimension K. * - N - Dimension N. * - in_pack_type - Input packing type. Must be one of ``:ref:`pack_type::no_trans ```, or ``:ref:`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 ------- .. index:: pair: function; generate .. _doxid-structdnnl_1_1ukernel_1_1transform_1a7a76cccde7eaf805d8339bfd253ff946: .. ref-code-block:: cpp :class: doxyrest-title-code-block void generate() Generates an executable part of transform object. .. index:: pair: function; execute .. _doxid-structdnnl_1_1ukernel_1_1transform_1ac92d44b1ed7ae0968e88809f96f8e6dc: .. ref-code-block:: cpp :class: doxyrest-title-code-block void execute(const void* in, void* out) const Executes a transform object. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - in - Pointer to an input buffer. * - out - Pointer to an output buffer.