An extension for controlling primitive behavior. More...
Modules | |
Sequence of post operations | |
An extension for performing extra operations after a base operation. | |
Functions | |
dnnl_status_t DNNL_API | dnnl_primitive_attr_create (dnnl_primitive_attr_t *attr) |
Creates an empty (default) attr attribute. More... | |
dnnl_status_t DNNL_API | dnnl_primitive_attr_clone (dnnl_primitive_attr_t *attr, const_dnnl_primitive_attr_t existing_attr) |
Makes a copy of an existing_attr . | |
dnnl_status_t DNNL_API | dnnl_primitive_attr_destroy (dnnl_primitive_attr_t attr) |
Deletes an attr . | |
dnnl_status_t DNNL_API | dnnl_primitive_attr_get_scratchpad_mode (const_dnnl_primitive_attr_t attr, dnnl_scratchpad_mode_t *mode) |
Returns the scratchpad mode set in the attribute attr . | |
dnnl_status_t DNNL_API | dnnl_primitive_attr_set_scratchpad_mode (dnnl_primitive_attr_t attr, dnnl_scratchpad_mode_t mode) |
Sets scratchpad mode . More... | |
dnnl_status_t DNNL_API | dnnl_primitive_attr_get_output_scales (const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask, const float **scales) |
Returns count , correspondence scale mask , and a pointer to a constant floating point array of output scales for given attr , previously set by dnnl_primitive_attr_set_output_scales. More... | |
dnnl_status_t DNNL_API | dnnl_primitive_attr_set_output_scales (dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask, const float *scales) |
Sets output scales for primitive operations. More... | |
dnnl_status_t DNNL_API | dnnl_primitive_attr_get_post_ops (const_dnnl_primitive_attr_t attr, const_dnnl_post_ops_t *post_ops) |
Returns post_ops for given attr . More... | |
dnnl_status_t DNNL_API | dnnl_primitive_attr_set_post_ops (dnnl_primitive_attr_t attr, const_dnnl_post_ops_t post_ops) |
Sets configured post_ops to an attribute attr for future use (when primitive descriptor is being created). More... | |
An extension for controlling primitive behavior.
dnnl_status_t DNNL_API dnnl_primitive_attr_create | ( | dnnl_primitive_attr_t * | attr | ) |
Creates an empty (default) attr
attribute.
All the parameters are set to default values.
An empty attribute is used in primitive descriptor creation whenever it is not passed explicitly, e.g. in dnnl_primitive_desc_create.
dnnl_status_t DNNL_API dnnl_primitive_attr_set_scratchpad_mode | ( | dnnl_primitive_attr_t | attr, |
dnnl_scratchpad_mode_t | mode | ||
) |
Sets scratchpad mode
.
The possible values are: dnnl_scratchpad_mode_library (default) and dnnl_scratchpad_mode_user.
dnnl_status_t DNNL_API dnnl_primitive_attr_get_output_scales | ( | const_dnnl_primitive_attr_t | attr, |
dnnl_dim_t * | count, | ||
int * | mask, | ||
const float ** | scales | ||
) |
Returns count
, correspondence scale mask
, and a pointer to a constant floating point array of output scales
for given attr
, previously set by dnnl_primitive_attr_set_output_scales.
scales
array points to the internal attr
field, so the user should not modify or destroy scales
.scales
is the same as that of the attr
to which it belongs, so it is illegal to use scales
after attr
is destroyed. dnnl_status_t DNNL_API dnnl_primitive_attr_set_output_scales | ( | dnnl_primitive_attr_t | attr, |
dnnl_dim_t | count, | ||
int | mask, | ||
const float * | scales | ||
) |
Sets output scales
for primitive operations.
The number of elements count
and correspondence scale mask
are stored for future use.
The mask
argument defines the correspondence between the output tensor dimensions and the scales
array. Set the i-th bit of mask
to 1 to use a dedicated scaling factor for each slice of the output tensor over the i-th dimension. Set mask
to 0 to use a common scaling factor for the whole output tensor.
Example usage:
count
corresponds to mask
until an actual primitive descriptor is created, so it is the user's responsibility to set proper values. The following formula must hold:\[count = \prod\limits_{d \in mask} output.dims[d]\]
dnnl_status_t DNNL_API dnnl_primitive_attr_get_post_ops | ( | const_dnnl_primitive_attr_t | attr, |
const_dnnl_post_ops_t * | post_ops | ||
) |
Returns post_ops
for given attr
.
post_ops
points to the internal attr
field, so the user should not modify or destroy post_ops
. Also, the lifetime of post_ops
is the same as that of the attr
it belongs to, so it is illegal to use post_ops
after attr
has been destroyed. dnnl_status_t DNNL_API dnnl_primitive_attr_set_post_ops | ( | dnnl_primitive_attr_t | attr, |
const_dnnl_post_ops_t | post_ops | ||
) |
Sets configured post_ops
to an attribute attr
for future use (when primitive descriptor is being created).