Intel® oneAPI Math Kernel Library Developer Reference - C

cblas_?gemm_pack_get_size, cblas_gemm_*_pack_get_size

Returns the number of bytes required to store the packed matrix.

Syntax

size_t cblas_hgemm_pack_get_size (const CBLAS_IDENTIFIER identifier, const MKL_INT m, const MKL_INT n, const MKL_INT k)

size_t cblas_sgemm_pack_get_size (const CBLAS_IDENTIFIER identifier, const MKL_INT m, const MKL_INT n, const MKL_INT k)

size_t cblas_dgemm_pack_get_size (const CBLAS_IDENTIFIER identifier, const MKL_INT m, const MKL_INT n, const MKL_INT k)

size_t cblas_gemm_s8u8s32_pack_get_size (const CBLAS_IDENTIFIER identifier, const MKL_INT m, const MKL_INT n, const MKL_INT k)

size_t cblas_gemm_s16s16s32_pack_get_size (const CBLAS_IDENTIFIER identifier, const MKL_INT m, const MKL_INT n, const MKL_INT k)

size_t cblas_gemm_bf16bf16f32_pack_get_size (const CBLAS_IDENTIFIER identifier, const MKL_INT m, const MKL_INT n, const MKL_INT k)

Include Files

Description

The cblas_?gemm_pack_get_size and cblas_gemm_*_pack_get_size routines belong to a set of related routines that enable the use of an internal packed storage. Call the cblas_?gemm_pack_get_size and cblas_gemm_*_pack_get_size routines first to query the size of storage required for a packed matrix structure to be used in subsequent calls. Ultimately, the packed matrix structure is used to compute

C := alpha*op(A)*op(B) + beta*C for bfloat16, half, single and double precision or

C := alpha*(op(A)+ A_offset)*(op(B)+ B_offset) + beta*C + C_offset for integer type.

where:

Input Parameters

Parameter Type Description
identifier CBLAS_IDENTIFIER

Specifies which matrix is to be packed:

If identifier = CblasAMatrix, the size returned is the size required to store matrix A in an internal format.

If identifier = CblasBMatrix, the size returned is the size required to store matrix B in an internal format.

m MKL_INT

Specifies the number of rows of matrix op(A) and of the matrix C. The value of m must be at least zero.

n MKL_INT

Specifies the number of columns of matrix op(B) and the number of columns of matrix C. The value of n must be at least zero.

k MKL_INT

Specifies the number of columns of matrix op(A) and the number of rows of matrix op(B). The value of k must be at least zero.

Return Values

Parameter Type Description
size size_t

Returns the size (in bytes) required to store the matrix when packed into the internal format of Intel® oneAPI Math Kernel Library.

Example

See the following examples in the MKL installation directory to understand the use of these routines:

cblas_hgemm_pack_get_size: examples\cblas\source\cblas_hgemm_computex.c

cblas_sgemm_pack_get_size: examples\cblas\source\cblas_sgemm_computex.c

cblas_dgemm_pack_get_size: examples\cblas\source\cblas_dgemm_computex.c

cblas_gemm_s8u8s32_pack_get_size: examples\cblas\source\cblas_gemm_s8u8s32_computex.c

cblas_gemm_s16u16s32_pack_get_size: examples\cblas\source\cblas_gemm_s16s16s32_computex.c

cblas_gemm_bf16bf16f32_pack_get_size: examples\cblas\source\cblas_gemm_bf16bf16f32_computex.c

See Also