MKL_NUM_STRIPES
MKL_NUM_STRIPES
The
threading algorithm for tries to use a number of partitions equal to
MKL_NUM_STRIPES
environment variable controls the Intel® oneAPI Math Kernel Library
?gemm
functions. When
MKL_NUM_STRIPES
is set to a positive integer value
nstripes
, Intel® oneAPI Math Kernel Library
nstripes
along the leading dimension of the output matrix.
The following table explains how the value
for:
nstripes
of
MKL_NUM_STRIPES
defines the partitioning algorithm used by Intel® oneAPI Math Kernel Library
?gemm
output matrix;
max_threads_for_mkl
denotes the maximum number of OpenMP threads for Intel® oneAPI Math Kernel Library
Value of
MKL_NUM_STRIPES | Partitioning Algorithm
| |
---|---|---|
1 <
nstripes <
(max_threads_for_mkl /2)
| 2D partitioning with the number of partitions equal to
nstripes :
| |
nstripes = 1
| 1D partitioning algorithm along the opposite direction of the
leading dimension.
| |
nstripes ≥
(max_threads_for_mkl /2)
| 1D partitioning algorithm along the leading dimension.
| |
nstripes < 0
| The default Intel® oneAPI Math Kernel Library |
The following figure shows the partitioning of an output matrix for
nstripes
= 4 and a total number of 8 OpenMP threads for
column-major and row-major orderings:

You can
use support functions
mkl_set_num_stripes
and
mkl_get_num_stripes
to set and query the number of stripes,
respectively.
Product and Performance Information
|
---|
Performance varies by use, configuration and other factors. Learn more at
www.Intel.com/PerformanceIndex.
Notice revision #20201201
|