I suggest you always use the parallel version of MKL, and control #thread used by MKL functions.
MKL provides void mkl_set_num_threads( int nt ) to change #thread MKL functions can use at any time.
When you set it to one, it is equal to the serial version.