-
Notifications
You must be signed in to change notification settings - Fork 701
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
intel/2017b toolchain definition (REVIEW) #4618
Changes from 2 commits
3a7a795
c679889
72064f8
42016d3
7f20ae1
dee6552
b979bc9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name = 'HPL' | ||
version = '2.2' | ||
|
||
homepage = 'http://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': '2017b'} | ||
toolchainopts = {'usempi': True} | ||
|
||
sources = [SOURCELOWER_TAR_GZ] | ||
source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] | ||
|
||
# fix Make dependencies, so parallel build also works | ||
patches = ['HPL_parallel-make.patch'] | ||
|
||
moduleclass = 'tools' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild | ||
|
||
name = 'icc' | ||
version = '2017.4.196' | ||
|
||
homepage = 'http://software.intel.com/en-us/intel-compilers/' | ||
description = "C and C++ compiler from Intel" | ||
|
||
toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
||
sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_cpp.tgz'] | ||
|
||
checksums = ['6b9b57dada0ec68e394866ec0a8b162c9233de18a7a6dd2dcc956d335e06acbc'] | ||
|
||
gccver = '6.3.0' | ||
binutilsver = '2.28' | ||
versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver) | ||
|
||
dependencies = [ | ||
('GCCcore', gccver), | ||
('binutils', binutilsver, '', ('GCCcore', 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-icc', 'intel-openmp', 'intel-ipsc?_', 'intel-gdb(?!.*mic)'] | ||
|
||
dontcreateinstalldir = 'True' | ||
|
||
license_file = HOME + '/licenses/intel/license.lic' | ||
|
||
moduleclass = 'compiler' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild | ||
easyblock = 'Toolchain' | ||
|
||
name = 'iccifort' | ||
version = '2017.4.196' | ||
versionsuffix = '-GCC-6.3.0-2.28' | ||
|
||
homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' | ||
description = """Intel Cluster Toolkit Compiler Edition provides Intel C,C++ and fortran compilers, Intel MPI and | ||
Intel MKL""" | ||
|
||
toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
||
dependencies = [ | ||
('icc', version, versionsuffix), | ||
('ifort', version, versionsuffix), | ||
] | ||
|
||
moduleclass = 'toolchain' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild | ||
|
||
name = 'ifort' | ||
version = '2017.4.196' | ||
|
||
homepage = 'http://software.intel.com/en-us/intel-compilers/' | ||
description = "Fortran compiler from Intel" | ||
|
||
toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
||
sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_fortran.tgz'] | ||
|
||
checksums = ['0b6a222e015f776600b12b17c19506249c9e7691a8d287f44cd40a66ca9ac749'] | ||
|
||
# remove dependency on intel-mpi-rt-mic | ||
patches = ['ifort_2017_no_mpi_mic_dependency.patch'] | ||
|
||
gccver = '6.3.0' | ||
binutilsver = '2.28' | ||
versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver) | ||
|
||
dependencies = [ | ||
('GCCcore', gccver), | ||
('binutils', binutilsver, '', ('GCCcore', 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-fcomp', 'intel-ifort', 'intel-openmp', 'intel-ipsf?_', 'intel-gdb(?!.*mic)'] | ||
|
||
dontcreateinstalldir = 'True' | ||
|
||
license_file = HOME + '/licenses/intel/license.lic' | ||
|
||
moduleclass = 'compiler' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. URL |
||
easyblock = "Toolchain" | ||
|
||
name = 'iimpi' | ||
version = '2017b' | ||
|
||
homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' | ||
description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" | ||
|
||
toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
||
compver = '2017.4.196' | ||
suff = '-GCC-6.3.0-2.28' | ||
dependencies = [ | ||
('icc', compver, suff), | ||
('ifort', compver, suff), | ||
('impi', '2017.3.196', '', ('iccifort', '%s%s' % (compver, suff))), | ||
] | ||
|
||
moduleclass = 'toolchain' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. URL again |
||
|
||
name = 'imkl' | ||
version = '2017.3.196' | ||
|
||
homepage = 'http://software.intel.com/en-us/intel-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': '2017b'} | ||
|
||
sources = ['l_mkl_%(version)s.tgz'] | ||
checksums = ['fd7295870fa164d6138c9818304f25f2bb263c814a6c6539c9fe4e104055f1ca'] | ||
|
||
dontcreateinstalldir = 'True' | ||
|
||
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/', | ||
'tar xvzf %(installdir)s/mkl/examples/examples_mic_f.tgz -C %(installdir)s/mkl/examples/', | ||
'tar xvzf %(installdir)s/mkl/examples/examples_mic_c.tgz -C %(installdir)s/mkl/examples/', | ||
] | ||
|
||
modextravars = { | ||
'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', | ||
} | ||
|
||
moduleclass = 'numlib' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild | ||
|
||
name = 'impi' | ||
version = '2017.3.196' | ||
|
||
homepage = 'http://software.intel.com/en-us/intel-mpi-library/' | ||
description = """The Intel(R) MPI Library for Linux* OS is a multi-fabric message | ||
passing library based on ANL MPICH2 and OSU MVAPICH2. The Intel MPI Library for | ||
Linux OS implements the Message Passing Interface, version 2 (MPI-2) specification.""" | ||
|
||
toolchain = {'name': 'iccifort', 'version': '2017.4.196-GCC-6.3.0-2.28'} | ||
|
||
sources = ['l_mpi_%(version)s.tgz'] | ||
|
||
checksums = ['dad9efbc5bbd3fd27cce7e1e2507ad77f342d5ecc929747ae141c890e7fb87f0'] | ||
|
||
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' | ||
|
||
postinstallcmds = [ | ||
'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libmpich.so', | ||
'ln -s %(installdir)s/lib64/libmpigc4.so %(installdir)s/lib64/libmpichcxx.so', | ||
'ln -s %(installdir)s/lib64/libmpigf.so %(installdir)s/lib64/libfmpich.so', | ||
'ln -s %(installdir)s/lib64/libmpigf.so %(installdir)s/lib64/libmpichf90.so', | ||
'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libmpl.so', | ||
'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libopa.so' | ||
] | ||
|
||
moduleclass = 'mpi' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
easyblock = 'Toolchain' | ||
|
||
name = 'intel' | ||
version = '2017b' | ||
|
||
homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' | ||
description = """Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI & | ||
Intel MKL.""" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Wouldn't it be better to have a proper toolchain description here? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. define proper? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Well, that just reads like some Intel promotional material. Compare it with the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Something like this then?
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, that's much better. |
||
|
||
toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
||
compver = '2017.4.196' | ||
gccver = '6.3.0' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. GCC 6.4.0 is imminent: https://gcc.gnu.org/ml/gcc/2017-06/msg00101.html (hat tip @ocaisa) |
||
binutilsver = '2.28' | ||
gccsuff = '-GCC-%s-%s' % (gccver, binutilsver) | ||
dependencies = [ | ||
('GCCcore', gccver), | ||
('binutils', binutilsver, '-GCCcore-%s' % gccver), | ||
('icc', compver, gccsuff), | ||
('ifort', compver, gccsuff), | ||
('impi', '2017.3.196', '', ('iccifort', '%s%s' % (compver, gccsuff))), | ||
('imkl', '2017.3.196', '', ('iimpi', version)), | ||
] | ||
|
||
moduleclass = 'toolchain' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a checksum here.