Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6956 Discussions

Fortran and C++ specific versions of MKL?

S_Aston
Beginner
402 Views

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

0 Kudos
7 Replies
mecej4
Honored Contributor III
402 Views

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.

0 Kudos
Shane_S_Intel
Employee
402 Views

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.

0 Kudos
SergeyKostrov
Valued Contributor II
402 Views
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 ...
0 Kudos
Shane_S_Intel
Employee
402 Views

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).

0 Kudos
SergeyKostrov
Valued Contributor II
402 Views
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.
0 Kudos
Gennady_F_Intel
Moderator
402 Views

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-intel-mkl-and-intel-tbb-libraries-are-included-in-the-intel-composer-bundles/. The article should be updated because of there are no info about the latest Composer 2013.  

0 Kudos
SergeyKostrov
Valued Contributor II
402 Views
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.
0 Kudos
Reply