New Intel compilers and version number confusion

This week we’ve installed two new versions of the Intel Compiler suite on the Linux workstations and clusters. Because all compilers and codes have their quirks, we try to keep several different versions of each compiler available at all times. We use the modules system to do this. The idea is that one can look at the available modules on any machine and pick the appropriate version of the compiler to load.
Sounds straightforward? Not entirely. It’s not always clear how to name the modules. Intel compilers are sold with a name such as ‘2013 SP1 release 4’. But that particular product has an internal version number of 14.0.4, whereas the product sold as ‘2013 release 5’ is internally version 13.1.3 and the product called ‘2011 SP1’ is internally version 12.1. To complicate matters, these compilers are bundled with the Intel Math Kernel library which has its own entirely different version numbering system.
So which number do we use in the module name? We’ve decided to go for the product name rather than the version for the compilers, as that’s what Intel obviously prefer their customers to see. For MKL we use the separate MKL version number rather than the compiler bundle number. Which means that this week we installed the following modules:

Module name Internal version
icc/64/2015/0/191 15.0.0
icc/64/2013_sp1/4/211 14.0.4
mkl/64/11.1/lp64/4 11.1.4
mkl/64/11.2/lp64/0 11.2

If you’re using one of our managed Linux machines or compute clusters, you should find these versions are now available. The 2015 modules are a new major version, so expect a few changes. They support extra OpenMP directives, C++11, the whole of Fortran 2003, and many Fortran 2008 features.

This entry was posted in Clusters, Linux, Software. Bookmark the permalink.