-
Notifications
You must be signed in to change notification settings - Fork 706
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #10483 from boegel/20200426083330_new_pr_HPL23
{toolchain} foss/2020a
- Loading branch information
Showing
13 changed files
with
349 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name = 'FFTW' | ||
version = '3.3.8' | ||
|
||
homepage = 'http://www.fftw.org' | ||
description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) | ||
in one or more dimensions, of arbitrary input size, and of both real and complex data.""" | ||
|
||
toolchain = {'name': 'gompi', 'version': '2020a'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = [homepage] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
checksums = ['6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303'] | ||
|
||
runtest = 'check' | ||
|
||
moduleclass = 'numlib' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
easyblock = 'Toolchain' | ||
|
||
name = 'foss' | ||
version = '2020a' | ||
|
||
homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' | ||
description = """GNU Compiler Collection (GCC) based compiler toolchain, including | ||
OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" | ||
|
||
toolchain = SYSTEM | ||
|
||
local_gccver = '9.3.0' | ||
|
||
# toolchain used to build foss dependencies | ||
local_comp_mpi_tc = ('gompi', version) | ||
|
||
# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain | ||
# because of toolchain preparation functions | ||
dependencies = [ | ||
('GCC', local_gccver), | ||
('OpenMPI', '4.0.3', '', ('GCC', local_gccver)), | ||
('OpenBLAS', '0.3.9', '', ('GCC', local_gccver)), | ||
('FFTW', '3.3.8', '', local_comp_mpi_tc), | ||
('ScaLAPACK', '2.1.0', '', local_comp_mpi_tc), | ||
] | ||
|
||
moduleclass = 'toolchain' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
easyblock = 'Bundle' | ||
|
||
name = 'GCC' | ||
version = '9.3.0' | ||
|
||
homepage = 'https://gcc.gnu.org/' | ||
description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, | ||
as well as libraries for these languages (libstdc++, libgcj,...).""" | ||
|
||
toolchain = SYSTEM | ||
|
||
dependencies = [ | ||
('GCCcore', version), | ||
# binutils built on top of GCCcore, which was built on top of (dummy-built) binutils | ||
('binutils', '2.34', '', ('GCCcore', version)), | ||
] | ||
|
||
altroot = 'GCCcore' | ||
altversion = 'GCCcore' | ||
|
||
# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) | ||
moduleclass = 'compiler' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
easyblock = "Toolchain" | ||
|
||
name = 'gompi' | ||
version = '2020a' | ||
|
||
homepage = '(none)' | ||
description = """GNU Compiler Collection (GCC) based compiler toolchain, | ||
including OpenMPI for MPI support.""" | ||
|
||
toolchain = SYSTEM | ||
|
||
local_gccver = '9.3.0' | ||
|
||
# compiler toolchain dependencies | ||
dependencies = [ | ||
('GCC', local_gccver), # includes both GCC and binutils | ||
('OpenMPI', '4.0.3', '', ('GCC', local_gccver)), | ||
] | ||
|
||
moduleclass = 'toolchain' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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': 'foss', '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' |
48 changes: 48 additions & 0 deletions
48
easybuild/easyconfigs/h/hwloc/hwloc-2.2.0-GCCcore-9.3.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'hwloc' | ||
version = '2.2.0' | ||
|
||
homepage = 'https://www.open-mpi.org/projects/hwloc/' | ||
|
||
description = """ | ||
The Portable Hardware Locality (hwloc) software package provides a portable | ||
abstraction (across OS, versions, architectures, ...) of the hierarchical | ||
topology of modern architectures, including NUMA memory nodes, sockets, shared | ||
caches, cores and simultaneous multithreading. It also gathers various system | ||
attributes such as cache and memory information as well as the locality of I/O | ||
devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily | ||
aims at helping applications with gathering information about modern computing | ||
hardware so as to exploit it accordingly and efficiently. | ||
""" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '9.3.0'} | ||
# need to build with -fno-tree-vectorize to avoid segfaulting lstopo on Intel Skylake | ||
# cfr. https://github.com/open-mpi/hwloc/issues/315 | ||
toolchainopts = {'vectorize': False} | ||
|
||
source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] | ||
sources = [SOURCE_TAR_GZ] | ||
checksums = ['2defba03ddd91761b858cbbdc2e3a6e27b44e94696dbfa21380191328485a433'] | ||
|
||
builddependencies = [ | ||
('binutils', '2.34'), | ||
] | ||
|
||
dependencies = [ | ||
('numactl', '2.0.13'), | ||
('libxml2', '2.9.10'), | ||
('libpciaccess', '0.16'), | ||
] | ||
|
||
configopts = "--enable-libnuma=$EBROOTNUMACTL " | ||
configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/lstopo', 'include/hwloc/linux.h', | ||
'lib/libhwloc.%s' % SHLIB_EXT], | ||
'dirs': ['share/man/man3'], | ||
} | ||
sanity_check_commands = ['lstopo'] | ||
|
||
moduleclass = 'system' |
26 changes: 26 additions & 0 deletions
26
easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.16-GCCcore-9.3.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'libpciaccess' | ||
version = '0.16' | ||
|
||
homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' | ||
description = """Generic PCI access library.""" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '9.3.0'} | ||
|
||
source_urls = ['https://www.x.org/releases/individual/lib/'] | ||
sources = [SOURCE_TAR_GZ] | ||
checksums = ['84413553994aef0070cf420050aa5c0a51b1956b404920e21b81e96db6a61a27'] | ||
|
||
builddependencies = [ | ||
('binutils', '2.34'), | ||
('Autotools', '20180311'), | ||
('xorg-macros', '1.19.2'), | ||
] | ||
|
||
sanity_check_paths = { | ||
'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], | ||
'dirs': ['lib/pkgconfig'], | ||
} | ||
|
||
moduleclass = 'system' |
28 changes: 28 additions & 0 deletions
28
easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-9.3.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
name = 'libxml2' | ||
version = '2.9.10' | ||
|
||
homepage = 'http://xmlsoft.org/' | ||
|
||
description = """ | ||
Libxml2 is the XML C parser and toolchain developed for the Gnome project | ||
(but usable outside of the Gnome platform). | ||
""" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '9.3.0'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = [ | ||
'http://xmlsoft.org/sources/', | ||
'http://xmlsoft.org/sources/old/' | ||
] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
checksums = ['aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f'] | ||
|
||
builddependencies = [('binutils', '2.34')] | ||
|
||
dependencies = [ | ||
('XZ', '5.2.5'), | ||
('zlib', '1.2.11'), | ||
] | ||
|
||
moduleclass = 'lib' |
34 changes: 34 additions & 0 deletions
34
easybuild/easyconfigs/n/numactl/numactl-2.0.13-GCCcore-9.3.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'numactl' | ||
version = '2.0.13' | ||
|
||
homepage = 'https://github.com/numactl/numactl' | ||
|
||
description = """ | ||
The numactl program allows you to run your application program on specific | ||
cpu's and memory nodes. It does this by supplying a NUMA memory policy to | ||
the operating system before running your program. The libnuma library provides | ||
convenient ways for you to add NUMA memory policies into your own program. | ||
""" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '9.3.0'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = ['https://github.com/numactl/numactl/archive/'] | ||
sources = ['v%(version)s.tar.gz'] | ||
checksums = ['97ee012b2f294903530424b4ff7f28bcaad6a356897ce8777383f87e5c2e325d'] | ||
|
||
builddependencies = [ | ||
('binutils', '2.34'), | ||
('Autotools', '20180311'), | ||
] | ||
|
||
preconfigopts = "./autogen.sh && " | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], | ||
'dirs': ['share/man', 'include'] | ||
} | ||
|
||
moduleclass = 'tools' |
28 changes: 28 additions & 0 deletions
28
easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.9-GCC-9.3.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
name = 'OpenBLAS' | ||
version = '0.3.9' | ||
|
||
homepage = 'https://xianyi.github.com/OpenBLAS/' | ||
description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." | ||
|
||
toolchain = {'name': 'GCC', 'version': '9.3.0'} | ||
|
||
source_urls = [ | ||
# order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble | ||
'https://www.netlib.org/lapack/timing/', | ||
'https://github.com/xianyi/OpenBLAS/archive/', | ||
] | ||
sources = ['v%(version)s.tar.gz'] | ||
patches = [ | ||
('large.tgz', '.'), | ||
('timing.tgz', '.'), | ||
] | ||
checksums = [ | ||
'17d4677264dfbc4433e97076220adc79b050e4f8a083ea3f853a53af253bc380', # v0.3.9.tar.gz | ||
'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz | ||
'999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz | ||
] | ||
|
||
# extensive testing can be enabled by uncommenting the line below | ||
# runtest = 'PATH=.:$PATH lapack-timing' | ||
|
||
moduleclass = 'numlib' |
24 changes: 24 additions & 0 deletions
24
easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name = 'OpenMPI' | ||
version = '4.0.3' | ||
|
||
homepage = 'https://www.open-mpi.org/' | ||
description = """The Open MPI Project is an open source MPI-3 implementation.""" | ||
|
||
toolchain = {'name': 'GCC', 'version': '9.3.0'} | ||
|
||
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
checksums = ['6346bf976001ad274c7e018d6cc35c92bbb9426d8f7754fac00a17ea5ac8eebc'] | ||
|
||
dependencies = [ | ||
('zlib', '1.2.11'), | ||
('hwloc', '2.2.0') | ||
] | ||
|
||
# disable MPI1 compatibility for now, see what breaks... | ||
# configopts = '--enable-mpi1-compatibility ' | ||
|
||
# to enable SLURM integration (site-specific) | ||
# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' | ||
|
||
moduleclass = 'mpi' |
17 changes: 17 additions & 0 deletions
17
easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020a.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name = 'ScaLAPACK' | ||
version = '2.1.0' | ||
|
||
homepage = 'https://www.netlib.org/scalapack/' | ||
description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines | ||
redesigned for distributed memory MIMD parallel computers.""" | ||
|
||
toolchain = {'name': 'gompi', 'version': '2020a'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = [homepage] | ||
sources = [SOURCELOWER_TGZ] | ||
checksums = ['61d9216cf81d246944720cfce96255878a3f85dec13b9351f1fa0fd6768220a6'] | ||
|
||
dependencies = [('OpenBLAS', '0.3.9')] | ||
|
||
moduleclass = 'numlib' |
37 changes: 37 additions & 0 deletions
37
easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.2-GCCcore-9.3.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
## | ||
# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia | ||
# Homepage: https://staff.flinders.edu.au/research/deep-thought | ||
# | ||
# Authors:: Robert Qiao <rob.qiao@flinders.edu.au> | ||
# License:: Custom | ||
# | ||
# Notes:: | ||
## | ||
|
||
easyblock = 'ConfigureMake' | ||
|
||
name = 'xorg-macros' | ||
version = '1.19.2' | ||
|
||
homepage = 'https://cgit.freedesktop.org/xorg/util/macros' | ||
description = """X.org macros utilities.""" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '9.3.0'} | ||
|
||
source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] | ||
sources = ['macros-util-macros-%(version)s.tar.gz'] | ||
checksums = ['326e51a5d673e3d9cc7f139aee469a11e18ea060b1d06c22694612e68a2089b1'] | ||
|
||
builddependencies = [ | ||
('binutils', '2.34'), | ||
('Autotools', '20180311'), | ||
] | ||
|
||
preconfigopts = './autogen.sh && ' | ||
|
||
sanity_check_paths = { | ||
'files': ['share/pkgconfig/xorg-macros.pc'], | ||
'dirs': [], | ||
} | ||
|
||
moduleclass = 'devel' |