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.
Ling