What is the actual difference between libmkl_mc.so and libmkl_mc3.so. Moreover, How to do you which SSE version is linked to libmkl_mc3.so
When I force the code to use SSE4.1, by this command. mkl_cbwr_set(MKL_CBWR_SSE4_1). Then libmkl_mc.so is being used and the performance is better. But if I don't force it, the code simply uses libmkl_mc3.so and the performance is bad.
Can anyone explain me what actually the difference is?
libmkl_mc3.so supports SSE4.2 instruction set - for example for Nehalem microarchitecture but libmkl_mc.so supports SSE4.1.
Do you know the CPU type are you running your code?