Intel® oneAPI Math Kernel Library Developer Reference - Fortran

?gemm_pack_get_size, gemm_*_pack_get_size

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

Syntax

dest = sgemm_pack_get_size (identifier, m, n, k)

dest = dgemm_pack_get_size (identifier, m, n, k)

dest = gemm_s8u8s32_pack_get_size (identifier, m, n, k)

dest = gemm_s16s16s32_pack_get_size (identifier, m, n, k)

Include Files

Description

The ?gemm_pack_get_size and gemm_*_pack_get_size routines belong to a set of related routines that enable the use of an internal packed storage. Call the ?gemm_pack_get_size and 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 CHARACTER*1.

Specifies which matrix is to be packed:

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

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

m INTEGER.

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

n INTEGER.

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 INTEGER.

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 INTEGER.

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:

sgemm_pack_get_size: examples\blas\source\sgemm_computex.f

dgemm_pack_get_size: examples\blas\source\dgemm_computex.f

gemm_s8u8s32_pack_get_size: examples\blas\source\gemm_s8u8s32_computex.f

gemm_s16s16s32_pack_get_size: examples\blas\source\gemm_s16s16s32_computex.f

See Also