-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added comments and content from Sergey
- Loading branch information
Showing
14 changed files
with
503 additions
and
1 deletion.
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,25 @@ | ||
# This file contains some helper shell functions, which help to initialize the | ||
# building environment. It is supposed to be sourced inside the script passed | ||
# as BUILD_ENV parameter of the configure script of ICON (see example below). | ||
# It is recommended to keep this script as portable as possible: | ||
# https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Portable-Shell.html | ||
# | ||
# Example: | ||
# ${ICON_DIR}/configure BUILD_ENV='. ./build_env_init.sh; switch_for_module PrgEnv-cray/6.0.4;' | ||
|
||
function switch_for_module { | ||
if test ! -z $1; then | ||
packageName=`echo $1 | awk -F/ '{print $(NF-1)}'` | ||
same_name_modules=`module -t list 2>&1 | sed -n '/^'$packageName'\(\/.*\|$\)/p'` | ||
test -n "$same_name_modules" && module unload $same_name_modules | ||
conflicting_modules=`module show $packageName 2>&1 | sed -n 's/^conflict[ \t][ \t]*\([^ \t][^ \t]*\)/\1/p'` | ||
test -n "$conflicting_modules" && module unload $conflicting_modules | ||
module load $1 | ||
fi | ||
} | ||
|
||
function switch_for_modules { | ||
for module in $*""; do | ||
switch_for_module $module | ||
done | ||
} |
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,86 @@ | ||
FROM nvidia/cuda:10.1-devel-ubuntu16.04 | ||
|
||
RUN useradd -ms /bin/bash cscs | ||
|
||
#ENV DEBIAN_FRONTEND=noninteractive | ||
|
||
RUN apt-get update && \ | ||
apt-get install \ | ||
wget \ | ||
ssh \ | ||
vim \ | ||
ksh \ | ||
less \ | ||
environment-modules \ | ||
git \ | ||
rsync \ | ||
libcurl4-openssl-dev \ | ||
libxml2-dev \ | ||
python2.7 \ | ||
python-pip --yes --no-install-recommends && \ | ||
apt-get clean | ||
|
||
RUN pip install --upgrade pip setuptools | ||
|
||
WORKDIR /home/cscs | ||
|
||
USER cscs | ||
|
||
RUN pip install --user easybuild | ||
|
||
RUN git clone https://github.com/lucamar/production.git && \ | ||
cd production && \ | ||
git checkout tsa76 | ||
|
||
ENV PATH=$PATH:/home/cscs/.local/bin \ | ||
EASYBUILD_MODULES_TOOL=EnvironmentModulesC \ | ||
#EASYBUILD_MODULES_TOOL=EnvironmentModules \ | ||
EASYBUILD_MODULE_SYNTAX=Tcl \ | ||
EASYBUILD_ROBOT_PATHS=/home/cscs/production/easybuild/easyconfigs:/home/cscs/.local/easybuild/easyconfigs | ||
|
||
#RUN eb binutils-2.30-GCCcore-7.3.0.eb -r | ||
|
||
RUN mkdir -p /home/cscs/.local/easybuild/sources/PGI | ||
COPY pgilinux-2019-1910-x86-64.tar.gz /home/cscs/.local/easybuild/sources/PGI/ | ||
COPY PGI-19.10-GCC-7.3.0-2.30.eb /home/cscs/production/easybuild/easyconfigs/p/PGI/ | ||
RUN eb PGI-19.10-GCC-7.3.0-2.30.eb -r | ||
# eb numactl-2.0.11-GCCcore-7.3.0.eb -r && \ | ||
|
||
# # # COPY UCX-1.5.2-GCCcore-7.3.0-cuda-9.1.eb /home/cscs/.local/easybuild/easyconfigs/u/UCX/ | ||
# # # RUN eb UCX-1.5.2-GCCcore-7.3.0-cuda-9.1.eb -r | ||
# # | ||
COPY Szip-2.1.1-PGI-19.10-GCC-7.3.0-2.30.eb /home/cscs/production/easybuild/easyconfigs/s/Szip/ | ||
COPY OpenMPI-4.0.1-PGI-19.10-GCC-7.3.0-2.30.eb /home/cscs/production/easybuild/easyconfigs/o/OpenMPI/ | ||
#RUN eb OpenMPI-4.0.1-PGI-19.10-GCC-7.3.0-2.30.eb | ||
|
||
COPY HDF5-1.10.5-PGI-19.10-GCC-7.3.0-2.30.eb /home/cscs/production/easybuild/easyconfigs/H/HDF5/ | ||
RUN eb HDF5-1.10.5-PGI-19.10-GCC-7.3.0-2.30.eb -r | ||
|
||
#COPY --chown=cscs osu /home/cscs/osu/ | ||
#RUN /bin/bash -c ". /usr/share/modules/init/bash && module user .local/easybuild/modules/all && module load OpenMPI/4.0.1-PGI-19.4-GCC-7.3.0-2.30 && cd osu && make -f Makefile_p2p CC=mpicc" | ||
|
||
COPY netCDF-4.6.1-PGI-19.10-GCC-7.3.0-2.30.eb /home/cscs/production/easybuild/easyconfigs/n/netCDF/ | ||
|
||
RUN eb CMake-3.14.1.eb -r | ||
|
||
COPY netCDF-Fortran-4.4.4-PGI-19.10-GCC-7.3.0-2.30.eb /home/cscs/production/easybuild/easyconfigs/n/netCDF-Fortran/ | ||
RUN eb netCDF-Fortran-4.4.4-PGI-19.10-GCC-7.3.0-2.30.eb -r | ||
|
||
COPY MPICH-3.1.4-PGI-19.10-GCC-7.3.0-2.30.eb /home/cscs/production/easybuild/easyconfigs/m/MPICH/ | ||
|
||
RUN eb MPICH-3.1.4-PGI-19.10-GCC-7.3.0-2.30.eb -r | ||
|
||
RUN ln -s /usr/lib/x86_64-linux-gnu/libxml2.a ~/.local/lib/ && \ | ||
mkdir ~/.local/include && \ | ||
ln -s /usr/include/libxml2 ~/.local/include/ | ||
|
||
COPY JasPer-2.0.14-PGI-19.10-GCC-7.3.0-2.30.eb /home/cscs/production/easybuild/easyconfigs/j/JasPer | ||
RUN eb JasPer-2.0.14-PGI-19.10-GCC-7.3.0-2.30.eb -r | ||
|
||
COPY ecCodes-2.13.0-PGI-19.10-GCC-7.3.0-2.30.eb /home/cscs/production/easybuild/easyconfigs/c/ecCodes/ | ||
RUN eb ecCodes-2.13.0-PGI-19.10-GCC-7.3.0-2.30.eb | ||
|
||
ENV ICON_DOCKER=1 | ||
|
||
RUN echo '. /usr/share/modules/init/bash' >> /home/cscs/.bashrc && \ | ||
echo 'module use /home/cscs/.local/easybuild/modules/all' >> /home/cscs/.bashrc |
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 @@ | ||
# @author: gppezzi | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'HDF5' | ||
version = '1.10.5' | ||
|
||
homepage = 'http://www.hdfgroup.org/HDF5/' | ||
description = """HDF5 is a unique technology suite that makes possible the | ||
management of extremely large and complex data collections.""" | ||
|
||
toolchain = {'name': 'PGI', 'version': '19.10-GCC-7.3.0-2.30'} | ||
toolchainopts = {'optarch': True, 'pic': True} | ||
|
||
source_urls = ['https://support.hdfgroup.org/ftp/%(name)s/releases/%(namelower)s-%(version_major_minor)s/%(namelower)s-%(version)s/src'] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
|
||
dependencies = [ | ||
# ('zlib', '1.2.11'), | ||
('Szip', '2.1.1'), | ||
] | ||
|
||
# Add -noswitcherror to make PGI compiler ignore the unknown compiler option -pthread | ||
preconfigopts = 'export CXX="$CXX -noswitcherror" && ' | ||
|
||
buildopts = '-l6' | ||
|
||
|
||
moduleclass = 'data' |
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,32 @@ | ||
# contributed by Luca Marsella (CSCS) | ||
easyblock = 'CMakeMake' | ||
|
||
name = 'JasPer' | ||
version = '2.0.14' | ||
|
||
homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' | ||
description = """ | ||
gzip (GNU zip) is a popular data compression program as a replacement | ||
for compress | ||
""" | ||
|
||
toolchain = {'name': 'PGI', 'version': '19.10-GCC-7.3.0-2.30'} | ||
toolchainopts = {'pic': True} | ||
|
||
sources = [SOURCELOWER_TAR_GZ] | ||
source_urls = ['https://www.ece.uvic.ca/~frodo/jasper/software/'] | ||
|
||
builddependencies = [ | ||
('CMake', '3.14.1', '', True) | ||
] | ||
|
||
configopts = '-DJAS_ENABLE_DOC=FALSE' | ||
|
||
separate_build_dir = 'True' | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/jasper', 'lib64/libjasper.%s' % SHLIB_EXT], | ||
'dirs': ['include'], | ||
} | ||
|
||
moduleclass = 'vis' |
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,14 @@ | ||
name = 'MPICH' | ||
version = '3.1.4' | ||
|
||
homepage = 'http://www.mpich.org/' | ||
description = """MPICH v3.x is an open source high-performance MPI 3.0 implementation. | ||
It does not support InfiniBand (use MVAPICH2 with InfiniBand devices).""" | ||
|
||
toolchain = {'name': 'PGI', 'version': '19.10-GCC-7.3.0-2.30'} | ||
|
||
source_urls = ['http://www.mpich.org/static/tarballs/%(version)s'] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
# checksums = ['5db53bf2edfaa2238eb6a0a5bc3d2c2ccbfbb1badd79b664a1a919d2ce2330f1'] | ||
|
||
moduleclass = 'mpi' |
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,39 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'OpenMPI' | ||
version = "4.0.1" | ||
|
||
homepage = 'https://www.open-mpi.org/' | ||
description = """The Open MPI Project is an open source MPI-3 implementation.""" | ||
|
||
toolchain = {'name': 'PGI', 'version': '19.10-GCC-7.3.0-2.30'} | ||
toolchainopts = {'vectorize': False} | ||
|
||
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
checksums = [] | ||
|
||
builddependencies = [ | ||
('zlib', '1.2.11', '', True), | ||
] | ||
|
||
configopts = ( | ||
"CC=pgcc " | ||
"CXX=pgc++ " | ||
"FC=pgf90 " | ||
"CFLAGS=-m64 " | ||
"CXXFLAGS=-m64 " | ||
"FCFLAGS=-m64 " | ||
"--enable-shared " | ||
"--enable-mpi-thread-multiple " | ||
) | ||
|
||
libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] | ||
sanity_check_paths = { | ||
'files': ["bin/%s" % binfile for binfile in ["ompi_info", "opal_wrapper", "orterun"]] + | ||
["lib/lib%s.%s" % (libfile, SHLIB_EXT) for libfile in libs] + | ||
["include/%s.h" % x for x in ["mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], | ||
'dirs': [], | ||
} | ||
|
||
moduleclass = 'mpi' |
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,39 @@ | ||
# contributed by Luca Marsella (CSCS) | ||
name = 'PGI' | ||
version_major = '19' | ||
version_minor = '10' | ||
version = '%s.%s' % (version_major,version_minor) | ||
|
||
gccver = '7.3.0' | ||
binutilsver = '2.30' | ||
versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver) | ||
|
||
homepage = 'http://www.pgroup.com/' | ||
description = "C, C++ and Fortran compilers from The Portland Group - PGI" | ||
|
||
toolchain = {'name': 'dummy', 'version': ''} | ||
|
||
sources = ['/home/cscs/.local/easybuild/sources/PGI/pgilinux-20%(version_major)s-%(version_major)s%(version_minor)s-x86-64.tar.gz'] | ||
|
||
install_amd = 'False' | ||
install_java = 'False' | ||
install_mpi = 'False' | ||
mpi_gpu_support = 'False' | ||
|
||
#dependencies = [ | ||
# ('GCCcore', gccver), | ||
# ('binutils', binutilsver, '', ('GCCcore', gccver)), | ||
#] | ||
|
||
postinstallcmds = [ | ||
'mv %(installdir)s/linux86-64-llvm/{0}/lib/pgiloc.ld %(installdir)s/linux86-64-llvm/{0}/lib/pgiloc.ld.BAK'.format(version), | ||
'mv %(installdir)s/linux86-64-nollvm/{0}/lib/pgiloc.ld %(installdir)s/linux86-64-nollvm/{0}/lib/pgiloc.ld.BAK'.format(version), | ||
] | ||
|
||
# license file | ||
license_file = '/apps/common/UES/licensesCSCS/pgi/license.dat' | ||
modtclfooter = """ | ||
setenv LM_LICENSE_FILE /apps/common/UES/licensesCSCS/pgi/license.dat | ||
""" | ||
|
||
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,24 @@ | ||
# contributed by Matthias Kraushaar (CSCS) | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'Szip' | ||
version = '2.1.1' | ||
|
||
homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' | ||
description = """Szip compression software, providing lossless compression of | ||
scientific data""" | ||
|
||
toolchain = {'name': 'PGI', 'version': '19.10-GCC-7.3.0-2.30'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = ['http://www.hdfgroup.org/ftp/lib-external/%(namelower)s/%(version)s/src'] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
|
||
configopts = '--with-pic' | ||
|
||
sanity_check_paths = { | ||
'files': ['lib/libsz.a', 'lib/libsz.so', 'include/ricehdf.h', 'include/szip_adpt.h', 'include/szlib.h'], | ||
'dirs': [], | ||
} | ||
|
||
moduleclass = 'tools' |
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,39 @@ | ||
# contributed by Matthias Kraushaar and Luca Marsella (CSCS) | ||
easyblock = 'CMakeMake' | ||
|
||
name = 'ecCodes' | ||
version = '2.13.0' | ||
py_maj_ver = '3' | ||
py_min_ver = '7' | ||
py_rev_ver = '4' | ||
pyshortver = '%s.%s' % (py_maj_ver, py_min_ver) | ||
pyver = '%s.%s' % (pyshortver, py_rev_ver) | ||
versionsuffix = '-python%s' % py_maj_ver | ||
|
||
homepage = 'https://confluence.ecmwf.int/display/ECC/ecCodes+Home' | ||
description = """ecCodes is a package developed by ECMWF which provides an application programming interface | ||
and a set of tools for decoding and encoding messages in the WMO GRIB and BUFR formats.""" | ||
|
||
toolchain = {'name': 'PGI', 'version': '19.10-GCC-7.3.0-2.30'} | ||
|
||
source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] | ||
sources = ['%(namelower)s-%(version)s-Source.tar.gz'] | ||
|
||
builddependencies = [ | ||
('CMake', '3.14.1', '', True), | ||
('JasPer', '2.0.14'), | ||
('netCDF', '4.6.1'), | ||
] | ||
|
||
separate_build_dir = True | ||
|
||
configopts = '-DENABLE_JPG=ON -DENABLE_NETCDF=ON -DENABLE_PYTHON=OFF' | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/%s' % x for x in ['bufr_copy', 'bufr_dump', 'bufr_filter', 'bufr_ls', | ||
'codes_count', 'codes_info', 'codes_split_file', | ||
'grib_copy', 'grib_dump', 'grib_filter', 'grib_ls']], | ||
'dirs': [], | ||
} | ||
|
||
moduleclass = 'tools' |
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,32 @@ | ||
# | ||
name = 'netCDF' | ||
version = '4.6.1' | ||
|
||
homepage = 'http://www.unidata.ucar.edu/software/netcdf/' | ||
description = """ | ||
NetCDF (network Common Data Form) is a set of software libraries and | ||
machine-independent data formats that support the creation, access, and | ||
sharing of array-oriented scientific data. | ||
""" | ||
|
||
toolchain = {'name': 'PGI', 'version': '19.10-GCC-7.3.0-2.30'} # ('Doxygen', '1.8.13'), | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = ['https://github.com/Unidata/%(namelower)s-c/archive/'] | ||
sources = ['v%(version)s.tar.gz'] | ||
checksums = ['a2fabf27c72a5ee746e3843e1debbaad37cd035767eaede2045371322211eebb'] | ||
|
||
builddependencies = [ | ||
('CMake', '3.14.1', '', True), | ||
] | ||
dependencies = [ | ||
('HDF5', '1.10.5'), | ||
('Szip', '2.1.1'), | ||
] | ||
|
||
# make sure both static and shared libs are built | ||
configopts = ['-DBUILD_SHARED_LIBS=OFF ', '-DBUILD_SHARED_LIBS=ON '] | ||
|
||
separate_build_dir = True | ||
|
||
moduleclass = 'data' |
20 changes: 20 additions & 0 deletions
20
ICON/image/netCDF-Fortran-4.4.4-PGI-19.10-GCC-7.3.0-2.30.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,20 @@ | ||
name = 'netCDF-Fortran' | ||
version = '4.4.4' | ||
|
||
homepage = 'http://www.unidata.ucar.edu/software/netcdf/' | ||
description = """NetCDF (network Common Data Form) is a set of software | ||
libraries and machine-independent data formats that support the creation, | ||
access, and sharing of array-oriented scientific data.""" | ||
|
||
toolchain = {'name': 'PGI', 'version': '19.10-GCC-7.3.0-2.30'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = ['ftp://ftp.unidata.ucar.edu/pub/netcdf/', 'ftp://ftp.unidata.ucar.edu/pub/netcdf/old'] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
|
||
dependencies = [ | ||
('netCDF', '4.6.1'), | ||
] | ||
|
||
|
||
moduleclass = 'data' |
Oops, something went wrong.