Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?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

  • mkl.fi

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:

  • op(X) is one of the operations op(X) = X or op(X) = XT
  • alpha and beta are scalars,
  • A , A_offset,B, B_offset,C, and C_offset are matrices
  • op(A) is an m-by-k matrix,
  • op(B) is a k-by-n matrix,
  • C is an m-by-n matrix.
  • A_offset is an m-by-k matrix.
  • B_offset is an k-by-n matrix.
  • C_offset is an m-by-n matrix.

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 (oneMKL).

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