Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
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

mkl_get_format_compact

Returns the optimal compact packing format for the architecture, needed for all compact routines.

Syntax

MKL_COMPACT_PACK mkl_get_format_compact ();

Description

The routine returns the optimal compact packing format, which is an MKL_COMPACT_PACK type, for the current architecture. The optimal value of format is determined by the architecture's vector-register length. format is a required parameter for any packing, unpacking, or BLAS/LAPACK compact routine. See Compact Format for details.

Return Values

The function returns a value format.

format format can be returned as any of the following three values. MKL_COMPACT_AVX512 is the optimal format value for:

  • Intel® Advanced Vector Extensions 512 (Intel® AVX-512)-enabled processors.

  • Intel® Advanced Vector Extensions 512 (Intel® AVX-512) for Intel® Many Integrated Core Architecture (Intel® MIC Architecture)-enabled processors.

  • Intel® Advanced Vector Extensions 512 (Intel® AVX-512) for Intel® Many Integrated Core Architecture (Intel® MIC Architecture) with support of AVX512_4FMAPS and AVX512_4VNNIW instruction groups processors.

MKL_COMPACT_AVX is the optimal format value for:
  • Intel® Advanced Vector Extensions (Intel® AVX)-enabled processors.
  • Intel® Advanced Vector Extensions 2 (Intel® AVX2)-enabled processors.
MKL_COMPACT_SSE is the optimal format value for all other processors.

Application Notes:

After calling this routine, mkl_?get_size_compact can be called to calculate the buffer size needed for mkl_?gepack_compact.