Difference between revisions of "Intel Compiler"

From IT Service Wiki
Jump to: navigation, search
(Parts of the license)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page describes, how to setup your environment for using our Intel Compiler Installation. The instruction are for '''bash''' shell user. If you use a different shell, you know what you are doing and you will be able to translate the configuration.  
+
Intel has rebranded its compilers and libraries and allows a free version for everyone.
  
We provide the recent version 13 of the Intel compiler suite for Fortran, C/C++ and the full set of performance libraries like  MKL, TBB, Cluster_OMP.
+
The new name is Intel oneAPI. [https://www.intel.com/content/www/us/en/developer/tools/oneapi/overview.html]
  
== .bashrc ==
+
We have installed the Base and HPC package in the shared folder
  
In order to use the installation you have to modify your '''.bashrc'''. Open the file with you favorite editor and append the following lines.
+
/home/software/intel/oneapi
  
<pre>
+
You can use it by sourcing the following file:
#Intel Compiler Setup
 
export LM_LICENSE_FILE="16287@th.physik.uni-frankfurt.de"
 
  
intel_arch="intel64"
+
. /home/software/intel/oneapi/setvars.sh
  
# old path Version 2013: ifortvars=/opt/intel/composer_xe_2013_sp1.2.144/bin/compilervars.sh
+
Unfortunately this script take some seconds to complete, it is not recommended to include it into the bashrc. We will look for a faster solution for the use in the bashrc.
  
ifortvar=/opt/intel/compilers_and_libraries_2017.0.098/linux/bin/compilervars.sh
 
if [ -f $ifortvars ]; then
 
    . $ifortvars $intel_arch
 
fi
 
 
</pre>
 
 
There are similar files with .csh extension for C-Shell users.
 
 
After sourcing your .bashrc or opening an new shell you can validate your setup with 'which ifort'. This should point to somewhere in /opt.
 
 
== Parts of the license ==
 
 
We own a license for "Intel® Parallel Studio XE Composer Edition for Fortran and C++ Linux" which includes the following components:
 
 
* Intel® Parallel Studio XE Composer Edition for Fortran and C++ Linux
 
* Intel® Data Analytics Acceleration Library for Linux
 
* Intel® Distribution for Python for Linux
 
* Intel® HD Graphics Drivers for Linux
 
* Intel® Integrated Performance Primitives for Linux
 
* Intel® Math Kernel Library for Linux
 
* Intel® Parallel Studio XE Composer Edition for C++ Linux
 
* Intel® Parallel Studio XE Composer Edition for Fortran Linux
 
* Intel® Threading Building Blocks for Linux
 
* Intel® Xeon Phi™ processor software Linux
 
  
 
== Implicit parallelization ==
 
== Implicit parallelization ==
Line 51: Line 24:
 
== Documentation ==
 
== Documentation ==
  
The comprehensive set of Intel documentation will be found under '''/opt/intel/composerxe/Documentation/en_US'''.
+
The comprehensive set of Intel documentation will be found under '''/home/software/intel/documentation_2018/en'''.

Latest revision as of 15:16, 6 January 2022

Intel has rebranded its compilers and libraries and allows a free version for everyone.

The new name is Intel oneAPI. [1]

We have installed the Base and HPC package in the shared folder

/home/software/intel/oneapi

You can use it by sourcing the following file:

. /home/software/intel/oneapi/setvars.sh

Unfortunately this script take some seconds to complete, it is not recommended to include it into the bashrc. We will look for a faster solution for the use in the bashrc.


Implicit parallelization

This version of MKL has internal parallel code (based on openMP) which uses all CPUs in the system. This is fine on the desktop as it will speed up your caluclation. But on the compute nodes this will conflict with other jobs running on the same machine. Therefore you have to restrict the number CPUs used to the number of allocated slots in SGE. Your can do this by defining the following environment variable:

 export OMP_NUM_THREADS=x

where x is the number of allocated slots. Using 1 means traditional serial processing. You should benchmark your program how many parallel threads will give a reasonable performance per CPU value.

Documentation

The comprehensive set of Intel documentation will be found under /home/software/intel/documentation_2018/en.