Reorder

Overview

A primitive to copy data between two memory objects. More…

// structs

struct dnnl::reorder;

// global functions

dnnl_status_t DNNL_API dnnl_reorder_primitive_desc_create(
    dnnl_primitive_desc_t* reorder_primitive_desc,
    const dnnl_memory_desc_t* src_desc,
    dnnl_engine_t src_engine,
    const dnnl_memory_desc_t* dst_desc,
    dnnl_engine_t dst_engine,
    const_dnnl_primitive_attr_t attr
    );

Detailed Documentation

A primitive to copy data between two memory objects.

This primitive is typically used to change the way the data is laid out in memory.

See also:

Reorder in developer guide

Global Functions

dnnl_status_t DNNL_API dnnl_reorder_primitive_desc_create(
    dnnl_primitive_desc_t* reorder_primitive_desc,
    const dnnl_memory_desc_t* src_desc,
    dnnl_engine_t src_engine,
    const dnnl_memory_desc_t* dst_desc,
    dnnl_engine_t dst_engine,
    const_dnnl_primitive_attr_t attr
    )

Creates a primitive descriptor for a reorder primitive.

Parameters:

reorder_primitive_desc

Output primitive descriptor.

src_desc

Source memory descriptor.

src_engine

Engine on which the source memory object will be located.

dst_desc

Destination memory descriptor.

dst_engine

Engine on which the destination memory object will be located.

attr

Primitive attributes to use (can be NULL).

Returns:

dnnl_success on success and a status describing the error otherwise.