Primitive Cache

Overview

A set of functions that provide primitive cache control. More…

// global functions

int dnnl::get_primitive_cache_capacity();
void dnnl::set_primitive_cache_capacity(int capacity);
dnnl_status_t DNNL_API dnnl_get_primitive_cache_capacity(int* capacity);
dnnl_status_t DNNL_API dnnl_set_primitive_cache_capacity(int capacity);

Detailed Documentation

A set of functions that provide primitive cache control.

Global Functions

int dnnl::get_primitive_cache_capacity()

Returns the number of primitives that can be held in the primitive cache at the same time.

void dnnl::set_primitive_cache_capacity(int capacity)

Sets a number of primitives that can be held in the primitive cache at a time.

Parameters:

capacity

Primitive cache capacity to set. If a new capacity is less than a number of primitives that the primitive cache already has then the excess entries will be evicted. Setting the capacity to 0 clears the primitive cache and disables it. Concurrently modifying capacity is safe.

Returns:

dnnl_invalid_arguments / dnnl::status::invalid_arguments if the capacity value is invalid, and dnnl_success / dnnl::status::success on success.

dnnl_status_t DNNL_API dnnl_get_primitive_cache_capacity(int* capacity)

Returns the number of primitives that can be held in the primitive cache at the same time.

Parameters:

capacity

Primitive cache capacity to query. Concurrently accessing capacity is safe.

Returns:

dnnl_invalid_arguments / dnnl::status::invalid_arguments if the capacity value is invalid, and dnnl_success / dnnl::status::success on success.

dnnl_status_t DNNL_API dnnl_set_primitive_cache_capacity(int capacity)

Sets a number of primitives that can be held in the primitive cache at a time.

Parameters:

capacity

Primitive cache capacity to set. If a new capacity is less than a number of primitives that the primitive cache already has then the excess entries will be evicted. Setting the capacity to 0 clears the primitive cache and disables it. Concurrently modifying capacity is safe.

Returns:

dnnl_invalid_arguments / dnnl::status::invalid_arguments if the capacity value is invalid, and dnnl_success / dnnl::status::success on success.