Intel® oneAPI Deep Neural Network Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
struct dnnl::reorder
Overview
Reorder primitive. More…
#include <dnnl.hpp>
struct reorder: public dnnl::primitive
{
    // structs
    struct primitive_desc;
    // construction
    reorder();
    reorder(const primitive_desc& pd);
    reorder(const primitive_desc& pd, const std::vector<uint8_t>& cache_blob);
    reorder(
        const memory& src,
        const memory& dst,
        const primitive_attr& attr = primitive_attr()
        );
    // methods
    void execute(const stream& astream, memory& src, memory& dst) const;
    void execute();
};Inherited Members
public:
    // enums
    enum kind;
    // 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;
    const_dnnl_primitive_desc_t get_primitive_desc() const;
    kind get_kind() const;
    std::vector<uint8_t> get_cache_blob() const;
    void execute(const stream& astream, const std::unordered_map<int, memory>& args) const;
    handle();
    handle();
    handle();
    handle();Detailed Documentation
Reorder primitive.
Construction
reorder()Default constructor. Produces an empty object.
reorder(const primitive_desc& pd)Constructs a reorder primitive.
Parameters:
| pd | Primitive descriptor for reorder primitive. | 
reorder(const primitive_desc& pd, const std::vector<uint8_t>& cache_blob)Constructs a reorder primitive from a cache blob.
Parameters:
| pd | Primitive descriptor for reorder primitive. | 
| cache_blob | Cache blob. | 
reorder(
    const memory& src,
    const memory& dst,
    const primitive_attr& attr = primitive_attr()
    )Constructs a reorder primitive that would reorder data between memory objects having the same memory descriptors as memory objects src and dst.
Parameters:
| src | Source memory object. | 
| dst | Destination memory object. | 
| attr | Primitive attributes to use (optional). | 
Methods
void execute(const stream& astream, memory& src, memory& dst) constExecutes the reorder primitive.
Parameters:
| astream | Stream object. The stream must belong to the same engine as the primitive. | 
| src | Source memory object. | 
| dst | Destination memory object. | 
void execute()Executes computations specified by the primitive in a specified stream.
Arguments are passed via an arguments map containing <index, memory object> pairs. The index must be one of the DNNL_ARG_* values such as DNNL_ARG_SRC, and the memory must have a memory descriptor matching the one returned by primitive_desc::query_md (query::exec_arg_md, index) unless using dynamic shapes (see DNNL_RUNTIME_DIM_VAL).
Parameters:
| astream | Stream object. The stream must belong to the same engine as the primitive. | 
| args | Arguments map. |