From e4fb38aadbbbee2493b6adda1cd9afb9137fdf77 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 27 Apr 2020 12:04:28 +0200 Subject: [PATCH 1/2] {toolchain} intel/2020a --- .../easyconfigs/h/HPL/HPL-2.3-intel-2020a.eb | 21 ++++++++++ .../i/iccifort/iccifort-2020.1.217.eb | 40 +++++++++++++++++++ easybuild/easyconfigs/i/iimpi/iimpi-2020a.eb | 18 +++++++++ .../i/imkl/imkl-2020.1.217-iimpi-2020a.eb | 39 ++++++++++++++++++ .../impi-2019.7.217-iccifort-2020.1.217.eb | 40 +++++++++++++++++++ easybuild/easyconfigs/i/intel/intel-2020a.eb | 21 ++++++++++ 6 files changed, 179 insertions(+) create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2020a.eb create mode 100644 easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217.eb create mode 100644 easybuild/easyconfigs/i/iimpi/iimpi-2020a.eb create mode 100644 easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020a.eb create mode 100644 easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifort-2020.1.217.eb create mode 100644 easybuild/easyconfigs/i/intel/intel-2020a.eb diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2020a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2020a.eb new file mode 100644 index 00000000000..e671c6be5e7 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2020a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217.eb b/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217.eb new file mode 100644 index 00000000000..89d42319787 --- /dev/null +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217.eb @@ -0,0 +1,40 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild + +name = 'iccifort' +version = '2020.1.217' + +homepage = 'https://software.intel.com/en-us/intel-compilers/' +description = "Intel C, C++ & Fortran compilers" + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/'] +sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition.tgz'] +patches = ['iccifort-%(version)s_no_mpi_rt_dependency.patch'] +checksums = [ + # parallel_studio_xe_2020_update1_composer_edition.tgz + '26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e', + # iccifort-2020.1.217_no_mpi_rt_dependency.patch + '61b558089d3d9253fad2139a16dc0899b9f839f34303e094efd70b281fc41a96', +] + +local_gccver = '9.3.0' + +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.34', '', ('GCCcore', local_gccver)), +] + +# list of regex for components to install +# full list of components can be obtained from pset/mediaconfig.xml in unpacked sources +# cfr. https://software.intel.com/en-us/articles/intel-composer-xe-2015-silent-installation-guide +components = [ + 'intel-comp', 'intel-ccomp', 'intel-fcomp', 'intel-icc', 'intel-ifort', + 'intel-openmp', 'intel-ipsc?_', 'intel-gdb(?!.*mic)' +] + +dontcreateinstalldir = True + +license_file = HOME + '/licenses/intel/license.lic' + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2020a.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2020a.eb new file mode 100644 index 00000000000..4c30378af97 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2020a.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2020a' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_compver = '2020.1.217' +dependencies = [ + ('iccifort', local_compver), + ('impi', '2019.7.217', '', ('iccifort', local_compver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020a.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020a.eb new file mode 100644 index 00000000000..7f816072147 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020a.eb @@ -0,0 +1,39 @@ +# This is an easyconfig file for EasyBuild, see https://easybuilders.github.io/easybuild/ + +name = 'imkl' +version = '2020.1.217' + +homepage = 'https://software.intel.com/mkl' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" + +toolchain = {'name': 'iimpi', 'version': '2020a'} + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d'] + +dontcreateinstalldir = True + +components = ['intel-mkl'] + +license_file = HOME + '/licenses/intel/license.lic' + +interfaces = True + +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifort-2020.1.217.eb b/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifort-2020.1.217.eb new file mode 100644 index 00000000000..d0ad0188c0d --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifort-2020.1.217.eb @@ -0,0 +1,40 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild + +name = 'impi' +version = '2019.7.217' + +homepage = 'https://software.intel.com/en-us/intel-mpi-library/' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'iccifort', 'version': '2020.1.217'} + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16546/'] +sources = ['l_mpi_%(version)s.tgz'] +checksums = ['90383b0023f84ac003a55d8bb29dbcf0c639f43a25a2d8d8698a16e770ac9c07'] + +dependencies = [ + # needed by libfabric provider MLX introduced in Intel MPI v2019.6, + # https://software.intel.com/en-us/articles/improve-performance-and-stability-with-intel-mpi-library-on-infiniband + ('UCX', '1.8.0'), +] + +dontcreateinstalldir = True + +components = ['intel-mpi', 'intel-psxe', 'intel-imb'] + +# set up all the mpi commands to default to intel compilers +# set_mpi_wrappers_all = True + +modextravars = { + # to enable SLURM integration with srun (site-specific) + # 'I_MPI_PMI_LIBRARY': 'libpmi2.so', + + # set this if mpirun gives you a floating point exception (SIGFPE), see + # https://software.intel.com/en-us/forums/intel-clusters-and-hpc-technology/topic/852307 + # 'I_MPI_HYDRA_TOPOLIB': 'ipl', +} + +# may be needed if you enable I_MPI_PMI_LIBRARY above +# osdependencies = [('slurm-libpmi')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/intel/intel-2020a.eb b/easybuild/easyconfigs/i/intel/intel-2020a.eb new file mode 100644 index 00000000000..99726a2e2be --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2020a.eb @@ -0,0 +1,21 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2020a' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_compver = '2020.1.217' +local_gccver = '9.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.34', '', ('GCCcore', local_gccver)), + ('iccifort', local_compver), + ('impi', '2019.7.217', '', ('iccifort', local_compver)), + ('imkl', local_compver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' From 28cde65fc6c849ba98b25faffe74849bfa96c1bf Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 27 Apr 2020 12:08:11 +0200 Subject: [PATCH 2/2] add patch for iccifirt 2020.1.217 --- .../iccifort-2020.1.217_no_mpi_rt_dependency.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217_no_mpi_rt_dependency.patch diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217_no_mpi_rt_dependency.patch b/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217_no_mpi_rt_dependency.patch new file mode 100644 index 00000000000..65900e15cbd --- /dev/null +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217_no_mpi_rt_dependency.patch @@ -0,0 +1,13 @@ +don't install Intel MPI runtime components (mpi-rt), cfr. https://github.com/easybuilders/easybuild-easyconfigs/pull/3793 +author: Bart Oldeman (Compute Canada), updated for 2020.1.217 by Kenneth Hoste (HPC-UGent) +--- parallel_studio_xe_2020_update1_composer_edition/pset/mediaconfig.xml.orig 2020-03-31 17:31:11.362126388 +0200 ++++ parallel_studio_xe_2020_update1_composer_edition/pset/mediaconfig.xml 2020-03-31 17:31:30.691960582 +0200 +@@ -870,7 +870,7 @@ + + ${COMPLIB_ROOT} + 1585047222050 +- ++ + Intel Fortran Compiler for Intel(R) 64 + Intel Fortran Compiler 19.1 Update 1 + インテル(R) Fortran コンパイラー (インテル(R) 64)