I generate a C code from my simulink model. That works fine. I also call the BLAS and Lapack libraries from Intel oneAPI MKL in simulink model in order to speed up the matrix operations as much as possible. But 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.
My simulink model includes some matrix-vector multiplications, vector additions and scalar-vector multiplications as well which require BLAS functions to be used for level 1 and level 2. The BLAS functions cblas_dgemm and cblas_dtrsm as well as the Lapack function lapacke_dgetrf work well.
About this issue I read in the Intel MKL Developer Guide that the usable functions are different in threading with OpenMP and Intel TBB. There are no the Level 1 and Level 2 functions threaded with Intel TBB. I got it from that that I should use OpenMP in order to use these functions as well.
My question is whether the compiler used in matlab has any influence on it. If so, which compilers should I use? I have been using the microsoft visual c++ 2019 compiler in matlab.
What should I do to use BLAS level 1 and 2 functions as well?
Thanks for reaching out to us.
Since this is a duplicate thread of
We will no longer monitor this thread. We will continue addressing
this issue in the other thread
Thanks & Regards,