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

Default value for mkl_set_threading_layer() in SDL?



I am using MKL with SDL (mkl_rt.lib). I know I need to use mkl_set_threading_layer() to set the threading layer in my code.

My question is, if I don't call mkl_set_threading_layer(), is there a default value for this function? In other words, is there a default library that MKL will pick at run time?

Through my testing (on a Windows machine), it seems that MKL will use the MKL_THREADING_INTEL as default value if I don't set  mkl_set_threading_layer(). I hope someone from Intel can confirm.

The reason I am experimenting this is that, we have in our programs different components that load and use MKL independently. We wish to use different libraries (sequential/tbb/intel) for different components. We hope we can come up with a way that, within a component, if the mkl_set_threading_layer() is not called, MKL will use the openMP threaded library (MKL_THREADING_INTEL) by default, while in other components,  mkl_set_threading_layer() will be called if a specific library is to be used.

Hope someone can help to confirm or provide some suggestions. Thank you.


0 Kudos
1 Reply

yes, your assumption is correct