Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
2430 Discussions

Intel oneAPI MKL BLAS and LAPACK functions

semihfk
Beginner
445 Views
Hello everyone,
 
I'm trying to generate C code from my simulink model. To speed up the matrix operations as much as possible, I also call the BLAS and Lapack libraries from Intel oneAPI MKL in simulink-model. I noticed some BLAS functions are not used in C code. They are level 1 and 2 BLAS functions. The level 3 BLAS functions are successfully used in C code. I read in the Intel MKL Developer Guide the usable functions are different in threading with OpenMP and Intel TBB.
 
My question is whether the compiler used in matlab has any influence on it. I have been using the microsoft visual c++ 2019 compiler in matlab. I am not sure but think that this compiler is not supported by OpenMP. Will OpenMP notice the compiler if a supported compiler is available in matlab?
 
How can I set up the threading options for OpenMP or Intel TBB?
 
I would be grateful for any advice. Thanks.
0 Kudos
3 Replies
NoorjahanSk_Intel
Moderator
416 Views

Hi,

 

Thanks for reaching out to us.

We are working on it internally and will get back to you soon.

 

Thanks & Regards,

Noorjahan

DMITRY_T_Intel
Employee
368 Views

Hi Semih,

 

>> I have been using the microsoft visual c++ 2019 compiler in matlab. I am not sure but think that this compiler is not supported by OpenMP.

According to this link Microsoft* Visual C++ 2019 Compiler supports OpenMP*:

https://docs.microsoft.com/en-us/cpp/build/reference/openmp-enable-openmp-2-0-support?view=msvc-160

 

>> Will OpenMP notice the compiler if a supported compiler is available in matlab?

OpenMP* is a set of compiler directives as well as an API for programs written in C, C++, or FORTRAN that provides support for parallel programming in shared-memory environments. OpenMP* can't notice a compiler. If a compiler supports OpenMP* then it has correspondent OpenMP* directives as in the link above.

 

>> How can I set up the threading options for OpenMP or Intel TBB?

OpenMP*:

Please see the OpenMP* directives in this link: https://docs.microsoft.com/en-us/cpp/parallel/openmp/reference/openmp-directives?view=msvc-170

 

Intel(R) TBB (oneTBB):

Please see documentation: https://www.intel.com/content/www/us/en/develop/documentation/onetbb-documentation/top.html

 

Thanks!


DMITRY_T_Intel
Employee
303 Views

Hi Semih,

I think this issue has been resolved and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.

Thanks!


Reply