Fortran and C++ specific versions of MKL?

Fortran and C++ specific versions of MKL?

Ritratto di S Aston

Hi,

I'd like to verify for sure that the version of MKL 11 shipped as part of 'Intel® Visual Fortran Studio XE 2013 for Windows' is also accessible for C++ development (using Visual Studio 2012 and the VS 2012 c++ toolset), or if instead there are Fortran and C++ specific versions of MKL or specific license restrictions?.  From looking at the available downloads, I'm pretty certain there's only a single MKL 11 for Windows, but, nevertheless, would like to have this confirmed.

Many Thanks

8 post / 0 new
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di mecej4

You will have to wait for someone from Intel to give you official confirmation, but I can assure you that MKL is accessible from Fortran, C and other languages, as long as the ABI is followed. I have used many versions of MKL from many versions of Intel Fortran, Compaq Fortran, Intel C, Microsoft C, C++ and other vendors' compilers during a period of over a decade.

Ritratto di Shane Story (Intel)

There's a "single" version of Intel MKL, callable from Fortran, C, C++, etc., included in Intel Parallel Studio XE 2013, Intel Composer XE 2013 or available standalone.

Ritratto di Sergey Kostrov

A standalone version of MKL or MKL included with Intel C++ compilers are Not the same sometimes and you need to keep an eye on MKL updates.

Additional technical details:

>>...From looking at the available downloads, I'm pretty certain there's only a single MKL 11 for Windows, but, nevertheless, would
>>like to have this confirmed...

Please take into account that depending on your hardware different versions of MKL DLLs ( implemented in C/C++/Assembler and highly optimized ) will be used. As an example, here is a list of different MKL DLLs on a Windows platform:
...
mkl_avx.dll
mkl_blacs.dll
mkl_blacs_intelmpi.dll
mkl_blacs_mpich2.dll
mkl_cdft_core.dll
mkl_core.dll
mkl_def.dll
mkl_intel_thread.dll
mkl_p4.dll
mkl_p4m.dll
mkl_p4m3.dll
mkl_p4p.dll
mkl_pgi_thread.dll
mkl_rt.dll
mkl_scalapack_core.dll
mkl_sequential.dll
mkl_vml_avx.dll
mkl_vml_def.dll
mkl_vml_ia.dll
mkl_vml_p4.dll
mkl_vml_p4m.dll
mkl_vml_p4m2.dll
mkl_vml_p4m3.dll
mkl_vml_p4p.dll
...

Ritratto di Shane Story (Intel)

A specific version of Intel MKL should be the same regardless of whether it's in a bundle or standalone. Naturally Intel MKL 11.0 is different than Intel MKL 11.0 Update 1, which is different than  Intel MKL 11.0 Update 2 (currently shipping).

Ritratto di Sergey Kostrov

Hi 'S Anton',

>>I'd like to verify for sure that the version of MKL 11 shipped as part of 'Intel® Visual Fortran Studio XE 2013 for Windows'...

As I already mentioned different releases of MKL could be used in different Intel C++ compiler Updates. Let me give two examples:

1. Intel C++ Compiler XE 12.1.7.371 ( Update 7 ) includes MKL v10.3.12 ( Update 12 ):
...
#define __INTEL_MKL__ 10
#define __INTEL_MKL_MINOR__ 3
#define __INTEL_MKL_UPDATE__ 12
...
So, as you can see Update numbers are Not synchronized and if you need the latest version ( release ) of MKL you need to download a standalone version of MKL and install it.

2. Intel C++ Compiler XE 13.0.0 could be downloaded as Initial Release and there are also two Updates, that is 1 and 2:
...
#if __INTEL_COMPILER_BUILD_DATE == 20120731
...
#pragma message ( "*** Message: Compiling with Intel C++ v13.0.0 ***" )
#endif

#if __INTEL_COMPILER_BUILD_DATE == 20130118
...
#pragma message ( "*** Message: Compiling with Intel C++ v13.0.2 ***" )
#endif
...
and the same rule for the standalone version of MKL is applicable here. I could provide you with exact number for MKL included with Update 2 if you need.

Note: Since I didn't use Update 1 I don't have information for MKL version.

Ritratto di Gennady Fedorov (Intel)

FYI -- please look at this KB article "Which version of the Intel® IPP, Intel® MKL and Intel® TBB Libraries are Included in the Intel® Composer Bundles?' follow this link: http://software.intel.com/en-us/articles/which-version-of-the-intel-ipp-.... The article should be updated because of there are no info about the latest Composer 2013.  

Ritratto di Sergey Kostrov

This is a short follow up with additional technical details.

Intel Parallel Studio XE 2013 Update 2 includes MKL v11.0.2 ( Update 2 ) and this is a piece of code from mkl.h header file after MKL Update 2 was installed:
...
#define __INTEL_MKL_BUILD_DATE 20130123

#define __INTEL_MKL__ 11
#define __INTEL_MKL_MINOR__ 0
#define __INTEL_MKL_UPDATE__ 2
...

There is a difference in 5 days ( some kind of inconsistency ) between Build Dates because Intel C++ compiler's Build Date is:
...
...__INTEL_COMPILER_BUILD_DATE == 20130118...
...

Take into account, that __INTEL_MKL_BUILD_DATE > __INTEL_COMPILER_BUILD_DATE and I would expect an opposite, like:

__INTEL_COMPILER_BUILD_DATE >= __INTEL_MKL_BUILD_DATE

in case of Intel Parallel Studio XE 2013 Update 2 since MKL is included in the installer's package ( not opposite ).

I hope that we've provided you with lots of details related to the subject of the post. Thanks.

Accedere per lasciare un commento.