Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

MKL_ENABLE_INSTRUCTIONS with psxe2020u4

psing51
New Contributor I
1,804 Views

Hi,
I am using psxe2020u4 for benchmarking CP2K on intel platform which uses intel's mkl at one of the math library.
I have compiled 3 versions of cp2k - -xCORE-AVX512+ zmm high, -xCORE-AVX512 + zmm low,-xCORE-AVX2.

i want to ensure that while running application compiled with xCORE-AVX2, only AVX2 instruction set should be used. Here are my queries - 
a) MKL_ENABLE_INSTRUCTIONS variable is available with psxe2020u4?
b) do i need to set - 
MKL_ENABLE_INSTRUCTIONS=AVX2 explicitly or 
the run time will ensure that AVX2 routines are used (as application was compiled with xCORE-AVX2).



Labels (1)
0 Kudos
1 Solution
RahulV_intel
Moderator
1,747 Views

Hi,

 

a) Yes, MKL_ENABLE_INSTRUCTIONS variable can be set in PSXE 2020 environment. To know more, please follow the below link:

https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-fortran/top/support-functions/miscellaneous/mkl-enable-instructions.html

 

b) For programs compiled with xCORE-AVX2, there is a possibility of falling back to other instruction sets (SSE): https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/compiler-options/compiler-option-details/code-generation-options/x-qx.html#x-qx

It would be better to set the environment variable for greater control over the underlying instruction set.

 

Thanks,

Rahul

 

View solution in original post

0 Kudos
3 Replies
RahulV_intel
Moderator
1,748 Views

Hi,

 

a) Yes, MKL_ENABLE_INSTRUCTIONS variable can be set in PSXE 2020 environment. To know more, please follow the below link:

https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-fortran/top/support-functions/miscellaneous/mkl-enable-instructions.html

 

b) For programs compiled with xCORE-AVX2, there is a possibility of falling back to other instruction sets (SSE): https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/compiler-options/compiler-option-details/code-generation-options/x-qx.html#x-qx

It would be better to set the environment variable for greater control over the underlying instruction set.

 

Thanks,

Rahul

 

0 Kudos
RahulV_intel
Moderator
1,691 Views

Hi,


Do you have any updates? Let us know if you face any issues.


Thanks,

Rahul


0 Kudos
RahulV_intel
Moderator
1,659 Views

Hi,


We are assuming that the solution provided helped and would no longer be monitoring this issue. Please raise a new thread if you have further issues.


Thanks,

Rahul


0 Kudos
Reply