Ukernels

Overview

Collection of ukernels. More…

// namespaces

namespace dnnl::ukernel;

// typedefs

typedef struct dnnl_ukernel_attr_params* dnnl_ukernel_attr_params_t;
typedef const struct dnnl_ukernel_attr_params* const_dnnl_ukernel_attr_params_t;

// enums

enum dnnl_pack_type_t;

// structs

struct dnnl_ukernel_attr_params;

// global functions

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_create(dnnl_ukernel_attr_params_t* attr_params);

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_set_post_ops_args(
    dnnl_ukernel_attr_params_t attr_params,
    const void** post_ops_args
    );

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_set_A_scales(
    dnnl_ukernel_attr_params_t attr_params,
    const void* a_scales
    );

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_set_B_scales(
    dnnl_ukernel_attr_params_t attr_params,
    const void* b_scales
    );

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_set_D_scales(
    dnnl_ukernel_attr_params_t attr_params,
    const void* d_scales
    );

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_destroy(dnnl_ukernel_attr_params_t attr_params);

Detailed Documentation

Collection of ukernels.

Typedefs

typedef struct dnnl_ukernel_attr_params* dnnl_ukernel_attr_params_t

A ukernel attributes memory storage handle.

typedef const struct dnnl_ukernel_attr_params* const_dnnl_ukernel_attr_params_t

A constant ukernel attributes memory storage handle.

Global Functions

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_create(dnnl_ukernel_attr_params_t* attr_params)

Creates a ukernel attributes memory storage.

Parameters:

attr_params

Output ukernel attributes memory storage.

Returns:

dnnl_success on success and a status describing the error otherwise.

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_set_post_ops_args(
    dnnl_ukernel_attr_params_t attr_params,
    const void** post_ops_args
    )

Sets post-operations arguments to a storage.

Parameters:

attr_params

Memory pointers storage object.

post_ops_args

A pointer to pointers of post_ops storages. Expected to be packed together.

Returns:

dnnl_success on success and a status describing the error otherwise.

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_set_A_scales(
    dnnl_ukernel_attr_params_t attr_params,
    const void* a_scales
    )

Sets tensor A scales argument to a storage.

Parameters:

attr_params

Memory pointers storage object.

a_scales

Pointer to the scales storage.

Returns:

dnnl_success on success and a status describing the error otherwise.

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_set_B_scales(
    dnnl_ukernel_attr_params_t attr_params,
    const void* b_scales
    )

Sets tensor B scales argument to a storage.

If dnnl_brgemm_set_B_scales used mask of 2, then at least N values of selected data type are expected.

Parameters:

attr_params

Memory pointers storage object.

b_scales

Pointer to the scales storage.

Returns:

dnnl_success on success and a status describing the error otherwise.

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_set_D_scales(
    dnnl_ukernel_attr_params_t attr_params,
    const void* d_scales
    )

Sets tensor D scales argument to a storage.

Parameters:

attr_params

Memory pointers storage object.

d_scales

Pointer to the scales storage.

Returns:

dnnl_success on success and a status describing the error otherwise.

dnnl_status_t DNNL_API dnnl_ukernel_attr_params_destroy(dnnl_ukernel_attr_params_t attr_params)

Destroys a ukernel attributes memory storage.

Parameters:

attr_params

Memory pointers storage object to destroy.

Returns:

dnnl_success on success and a status describing the error otherwise.