Recently I am using Umfpack with Intel MKL BLAS. To link the library to a program one has to link mkl_rt.lib / mkl_rt.so. However there is no word which version: sequential or parallel of library is linked.
Anyone could help? Thanks in advance.
Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. It only takes a minute to sign up.
Sign up to join this communityRecently I am using Umfpack with Intel MKL BLAS. To link the library to a program one has to link mkl_rt.lib / mkl_rt.so. However there is no word which version: sequential or parallel of library is linked.
Anyone could help? Thanks in advance.
I believe that MKL has the threaded parallel and serial functions in one unified library. You can try setting OMP_NUM_THREADS or MKL_NUM_THREADS to a range of values and see how the performance varies. Setting either to 1 will give you the serial behavior.
There is some good information here:
https://software.intel.com/en-us/mkl-linux-developer-guide-calling-intel-mkl-functions-from-multi-threaded-applications
Use the MKL link line advisor to determine what library that corresponds to.
https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
If you choose "Single Dynamic Library", it uses "mkl_rt.lib" and it looks like threading is active.
The results of these two versions should be the same. It's up to you to decide whether you want to utilize multiple cores or not.