Using Intel MKL Verbose Mode

When building applications that call Intel MKL functions, it may be useful to determine:

  • which computational functions are called,
  • what parameters are passed to them, and
  • how much time is spent to execute the functions.

You can get an application to print this information to a standard output device by enabling Intel MKL Verbose. Functions that can print this information are referred to as verbose-enabled functions.

When Verbose mode is active in an Intel MKL domain, every call of a verbose-enabled function finishes with printing a human-readable line describing the call. However, if your application gets terminated for some reason during the function call, no information for that function will be printed. The first call to a verbose-enabled function also prints a version information line.

To enable the Intel MKL Verbose mode for an application, do one of the following:

  • set the environment variable MKL_VERBOSE to 1, or
  • call the support function mkl_verbose(1).

To disable the Intel MKL Verbose mode, call the mkl_verbose(0) function.Both enabling and disabling of the Verbose mode using the function call takes precedence over the environment setting. For a full description of now the mkl_verbose function works by language, see either the Intel MKL Developer Reference for C or theIntel MKL Developer Reference for Fortran.Both references are available in the Intel® Software Documentation Library.

Intel MKL Verbose mode is not a thread-local but a global state. In other words, if an application changes the mode from multiple threads, the result is undefined.


The performance of an application may degrade with the Verbose mode enabled, especially when the number of calls to verbose-enabled functions is large, because every call to a verbose-enabled function requires an output operation.

Select sticky button color: 
Orange (only for download buttons)
For more complete information about compiler optimizations, see our Optimization Notice.