Difference between revisions of "InstallingICS"
From HPC users
Jump to navigationJump to search
Line 1: | Line 1: | ||
The following steps are needed to install the Intel Cluster Studio (or Parallel Studio XE) with the aim to get the Intel toolchain (compilers, MPI, MKL): | The following steps are needed to install the Intel Cluster Studio (or Parallel Studio XE) with the aim to get the Intel toolchain (compilers, MPI, MKL): | ||
# Identify the version of the toolchain (e.g. 2018a) and the corresponding Intel version (e.g. 2018.1.163) | # Identify the version of the toolchain (e.g. 2018a) and the corresponding Intel version (e.g. 2018.1.163), note that the versions might differ for the different components of the toolchain (e.g. intel/2019a uses compiler version 2019.1.144 and MPI version 2018.4.427 because of a possible in the 2019.1.144er MPI) | ||
# Select the version of GCCcore you want to use, e.g 6.4.0. Stay close to the GCC version the eb-files for Intel Compilers request (unless you have good reasons to change). | # Select the version of GCCcore you want to use, e.g 6.4.0. Stay close to the GCC version the eb-files for Intel Compilers request (unless you have good reasons to change). If required a new hpc-env/<gcccore_version> can be created (foss should use the same GCCcore anyways). If so, also create the alias ebNN (e.g. eb64) for erle. | ||
# Copy the eb-files for this version to a directory in InstallationPackages/<GCCver>/TOOLCHAINS/intel. You need eb-files for icc and ifort (compilers), iccifort (compiler toolchain), impi (MPI) and iimpi (toolchain), imkl (numlib) and the final toolchain intel-<version> | # Copy the eb-files for this version to a directory in InstallationPackages/<GCCver>/TOOLCHAINS/intel. You need eb-files for icc and ifort (compilers), iccifort (compiler toolchain), impi (MPI) and iimpi (toolchain), imkl (numlib) and the final toolchain intel-<version> | ||
# Download the sources from Intel Developer page (see License Page), download four individual files for C/C++ and Fortran compilers, MPI and MKL. Names of the files should match the file names in the eb-files. | # Download the sources from Intel Developer page (see License Page), download four individual files for C/C++ and Fortran compilers, MPI and MKL. Names of the files should match the file names in the eb-files. | ||
# modifications of the eb-files so that the modules get short intuitive names, goal is that the following modules are installed (example for version | # modifications of the eb-files so that the modules get short intuitive names, goal is that the following modules are installed (example for version 2019a). '''New:''' keep the Intel versions for the components icc, ifort, impi and imkl, makes life easier. Only the toolchains iccifort, iimpi and intel get the year<a/b> versioning: | ||
#* icc/ | #* icc/2019.1.144 | ||
#* ifort/ | #* ifort/2019.1.144 | ||
#* iccifort/ | #* iccifort/2019a | ||
#* impi/ | #* impi/2018.4.427-iccifort-2019a | ||
#* iimpi/ | #* iimpi/2019a | ||
#* imkl/ | #* imkl/2019.1.144-iimpi-2019a | ||
#* intel/ | #* intel/2019a | ||
# for the compilers you need to | # for the compilers you need to comment out the versionsuffix (kind of redundant), the same change is required for the dependencies in the toolchain eb-files. Do not forget to rename the eb-files. | ||
# In addition a change to the easyblocks 'icc.py' and 'ifor.py' was needed that deals with the different version number. | # '''New: no longer needed''' In addition a change to the easyblocks 'icc.py' and 'ifor.py' was needed that deals with the different version number. | ||
## In EB 3.5.3 and 3.8.1 the change is done | ## In EB 3.5.3 and 3.8.1 the change is done | ||
## for 3.8.1 in icc.py (two changes below are in lines 76 and 206, in 3.5.3 the first change is closer to the second) | ## for 3.8.1 in icc.py (two changes below are in lines 76 and 206, in 3.5.3 the first change is closer to the second) |
Latest revision as of 11:06, 21 February 2019
The following steps are needed to install the Intel Cluster Studio (or Parallel Studio XE) with the aim to get the Intel toolchain (compilers, MPI, MKL):
- Identify the version of the toolchain (e.g. 2018a) and the corresponding Intel version (e.g. 2018.1.163), note that the versions might differ for the different components of the toolchain (e.g. intel/2019a uses compiler version 2019.1.144 and MPI version 2018.4.427 because of a possible in the 2019.1.144er MPI)
- Select the version of GCCcore you want to use, e.g 6.4.0. Stay close to the GCC version the eb-files for Intel Compilers request (unless you have good reasons to change). If required a new hpc-env/<gcccore_version> can be created (foss should use the same GCCcore anyways). If so, also create the alias ebNN (e.g. eb64) for erle.
- Copy the eb-files for this version to a directory in InstallationPackages/<GCCver>/TOOLCHAINS/intel. You need eb-files for icc and ifort (compilers), iccifort (compiler toolchain), impi (MPI) and iimpi (toolchain), imkl (numlib) and the final toolchain intel-<version>
- Download the sources from Intel Developer page (see License Page), download four individual files for C/C++ and Fortran compilers, MPI and MKL. Names of the files should match the file names in the eb-files.
- modifications of the eb-files so that the modules get short intuitive names, goal is that the following modules are installed (example for version 2019a). New: keep the Intel versions for the components icc, ifort, impi and imkl, makes life easier. Only the toolchains iccifort, iimpi and intel get the year<a/b> versioning:
- icc/2019.1.144
- ifort/2019.1.144
- iccifort/2019a
- impi/2018.4.427-iccifort-2019a
- iimpi/2019a
- imkl/2019.1.144-iimpi-2019a
- intel/2019a
- for the compilers you need to comment out the versionsuffix (kind of redundant), the same change is required for the dependencies in the toolchain eb-files. Do not forget to rename the eb-files.
- New: no longer needed In addition a change to the easyblocks 'icc.py' and 'ifor.py' was needed that deals with the different version number.
- In EB 3.5.3 and 3.8.1 the change is done
- for 3.8.1 in icc.py (two changes below are in lines 76 and 206, in 3.5.3 the first change is closer to the second)
--- self.comp_libs_subdir = os.path.join('compilers_and_libraries_%s' % self.version.split('a')[0], 'linux') +++ self.comp_libs_subdir = os.path.join('compilers_and_libraries_%s' % self.version.split('a')[0], 'linux') --- self.debuggerpath = 'debugger_%s' % self.version.split('.')[0] +++ self.debuggerpath = 'debugger_%s' % self.version.split('.')[0].split('a')[0]