Profiling code that uses MKL ( mkl_vml_kernel_sError )
We are using MKL 10.3 in our application and we are currently performing performance analysis and we get one symbol in profiling reports from MKL that we can't explain : mkl_vml_kernel_sError.
This symbol is the highest ranked CPU time consumer. We are unable to find any information about this function, can you please explain briefly what is this symbol/function and is it normal to see it highly ranked in profiling reports?
Information about our configuration:
Running on Linux 64-bits. Statically linked to MKL sequential implementation (we take care of threading).
That already helps me a lot understanding what is happening, thank you!
Currently, I cannot provide you a piece of code since I don't know yet from where this comes from, we are using MKL intensively so it may come from almost anywhere in the code... I only see this scoring very high in the performance profiling tool we are using, without knowing yet who is the caller. I'm going to investigate this right now.
Is there a way to be notified or trap these errors to help us finding out from where it comes from? It doesn't seems to throw std::exceptions... I saw that there is an internal function called xerbla() that can be replaced to receive input values errors but currently it doesn't seems to work (my own implementation is never called), is there something special I should know on how to specify our own xerbla() function?
Also, we're not getting any error message printed in the console from the internal MKL xerbla function, do we need to enable something to get the errors printed in the console from internal xerbla function ( environment variable or call to a specific MKL function) ?