new file: e/Elk/Elk-4.3.6-intel-2017a-openmp.eb

new file:   e/Elk/Elk-4.3.6-intel-2017a.eb
	new file:   h/hwloc/hwloc-1.11.7-GCC-7.2.0-2.29.eb
	new file:   m/MPI_NET/MPI_NET-1.2.0-intel-2017b.eb
	new file:   n/numactl/numactl-2.0.11-GCC-7.2.0-2.29.eb
	new file:   o/OpenMPI/OpenMPI-3.0.0-GCC-7.2.0-2.29.eb
	modified:   v/VASP/VASP-5.4.4-intel-2017a-mkl=cluster.eb
	modified:   v/VASP/VASP-5.4.4-intel-2017a-mkl=paralel.eb
	modified:   v/VASP/VASP-5.4.4-intel-2017a-mkl=sequential.eb
	new file:   v/VASP/VASP-5.4.4-intel-2017b-mkl=cluster.eb
This commit is contained in:
Lukáš Krupčík 2017-09-26 08:46:25 +02:00
parent 994fa8026b
commit 1cf1004f6b
10 changed files with 275 additions and 3 deletions

View File

@ -0,0 +1,44 @@
easyblock = 'MakeCp'
name = 'Elk'
version = '4.3.6'
versionsuffix = '-openmp'
homepage = 'http://elk.sourceforge.net/'
description = """An all-electron full-potential linearised augmented-plane wave (FP-LAPW) code with
many advanced features. Written originally at Karl-Franzens-Universität Graz as a milestone of the
EXCITING EU Research and Training Network, the code is designed to be as simple as possible so that
new developments in the field of density functional theory (DFT) can be added quickly and reliably.
"""
toolchain = {'name': 'intel', 'version': '2017a'}
toolchainopts = {'openmp': True,'usempi': True}
sources = [SOURCELOWER_TGZ]
source_urls = [SOURCEFORGE_SOURCE]
dependencies = [
('libxc', '3.0.0', '', True),
]
# make.inc file is generated interactively by "setup" command, creating it here
prebuildopts = 'echo "F90_OPTS = $FFLAGS" > make.inc && '
prebuildopts += 'echo "F77_OPTS = $FFLAGS" >> make.inc && '
prebuildopts += 'echo "LIB_LPK = $LIBLAPACK" >> make.inc && '
prebuildopts += 'echo "LIB_libxc = $EBROOTLIBXC/lib/libxcf90.a $EBROOTLIBXC/lib/libxc.a" >> make.inc && '
prebuildopts += 'echo "SRC_libxc = libxc_funcs.f90 libxc.f90 libxcifc.f90" >> make.inc && '
prebuildopts += 'echo "SRC_FFT = zfftifc_fftw.f90" >> make.inc && '
buildopts = 'all'
parallel = 1
files_to_copy = [(['src/elk', 'src/spacegroup/spacegroup', 'src/eos/eos'], 'bin')]
sanity_check_paths = {
'files': ['bin/elk', 'bin/spacegroup', 'bin/eos'],
'dirs': []
}
moduleclass = 'phys'

View File

@ -0,0 +1,43 @@
easyblock = 'MakeCp'
name = 'Elk'
version = '4.3.6'
homepage = 'http://elk.sourceforge.net/'
description = """An all-electron full-potential linearised augmented-plane wave (FP-LAPW) code with
many advanced features. Written originally at Karl-Franzens-Universität Graz as a milestone of the
EXCITING EU Research and Training Network, the code is designed to be as simple as possible so that
new developments in the field of density functional theory (DFT) can be added quickly and reliably.
"""
toolchain = {'name': 'intel', 'version': '2017a'}
toolchainopts = {'usempi': True}
sources = [SOURCELOWER_TGZ]
source_urls = [SOURCEFORGE_SOURCE]
dependencies = [
('libxc', '3.0.0', '', True),
]
# make.inc file is generated interactively by "setup" command, creating it here
prebuildopts = 'echo "F90_OPTS = $FFLAGS" > make.inc && '
prebuildopts += 'echo "F77_OPTS = $FFLAGS" >> make.inc && '
prebuildopts += 'echo "LIB_LPK = $LIBLAPACK" >> make.inc && '
prebuildopts += 'echo "LIB_libxc = $EBROOTLIBXC/lib/libxcf90.a $EBROOTLIBXC/lib/libxc.a" >> make.inc && '
prebuildopts += 'echo "SRC_libxc = libxc_funcs.f90 libxc.f90 libxcifc.f90" >> make.inc && '
prebuildopts += 'echo "SRC_FFT = zfftifc_fftw.f90" >> make.inc && '
buildopts = 'all'
parallel = 1
files_to_copy = [(['src/elk', 'src/spacegroup/spacegroup', 'src/eos/eos'], 'bin')]
sanity_check_paths = {
'files': ['bin/elk', 'bin/spacegroup', 'bin/eos'],
'dirs': []
}
moduleclass = 'phys'

View File

@ -0,0 +1,23 @@
easyblock = 'ConfigureMake'
name = 'hwloc'
version = '1.11.7'
homepage = 'http://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': 'GCC', 'version': '7.2.0-2.29'}
source_urls = ['http://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/']
sources = [SOURCE_TAR_GZ]
dependencies = [('numactl', '2.0.11')]
configopts = "--enable-libnuma=$EBROOTNUMACTL"
moduleclass = 'system'

View File

@ -0,0 +1,32 @@
name = 'MPI_NET'
version = '1.2.0'
easyblock = 'ConfigureMake'
homepage = 'http://www.osl.iu.edu/research/mpi.net/'
description = """MPI.NET is a high-performance, easy-to-use implementation of the Message Passing Interface (MPI)
for Microsoft's .NET environment"""
toolchain = {'name': 'intel', 'version': '2017b'}
dependencies = [('Mono', '5.0.0.100', '', True)]
patches = [('mpi.net-1.2.0-unsafe.patch', 1),
('configure.ac.patch')
]
preconfigopts = 'sh ./autogen.sh && '
prebuildopts = 'cd MPI && perl ./Unsafe.pl $EBROOTIMPI/include64/mpi.h ./Unsafe.cs CustomUnsafe.cs cbridge.c && cd .. && '
sources = ['%(version)s.tar.gz']
source_urls = ['https://github.com/jmp75/MPI.NET/archive/']
sanity_check_paths = {
'files': ['lib/MPI.dll'],
'dirs': ['lib'],
}
maxparallel = 4
moduleclass = 'mpi'

View File

@ -0,0 +1,23 @@
easyblock = 'ConfigureMake'
name = 'numactl'
version = '2.0.11'
homepage = 'http://oss.sgi.com/projects/libnuma/'
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': 'GCC', 'version': '7.2.0-2.29'}
source_urls = ['ftp://oss.sgi.com/www/projects/libnuma/download/']
sources = [SOURCE_TAR_GZ]
checksums = ['d3bc88b7ddb9f06d60898f4816ae9127']
sanity_check_paths = {
'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'],
'dirs': ['share/man', 'include']
}
moduleclass = 'tools'

View File

@ -0,0 +1,53 @@
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '3.0.0'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-2 implementation."""
toolchain = {'name': 'GCC', 'version': '7.2.0-2.29'}
source_urls = ['http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['0bbb279b88edc25bbded39520dab6d4b32020277a6088fb1456c9437a8231cf8']
builddependencies = [
('Java', '1.8.0_121', '', True)
]
dependencies = [
('hwloc', '1.11.7'),
('zlib', '1.2.11', '', True),
]
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
configopts += '--enable-mpirun-prefix-by-default ' # suppress failure modes in relation to mpirun path
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
#configopts += '--disable-dlopen ' # dont disable dlopen! https://github.com/open-mpi/ompi/issues/3630
configopts += '--with-tm=/opt/pbs/default ' # Enable PBS
configopts += '--enable-mpi-java ' # Java support RT#4090
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
# for PBS Pro 13
preconfigopts = 'export LIBS="-ldl" && '
# to enable SLURM integration (site-specific)
# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr'
# needed for --with-verbs
osdependencies = [('libibverbs-dev', 'libibverbs-devel')]
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': [],
}
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
}
moduleclass = 'mpi'

View File

@ -15,7 +15,7 @@ toolchainopts = {'pic': True, 'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on how to get access to the code
sources = ['%(namelower)s.%(version)s.tar.gz']
checksums = ['8ac646b108f974371eef398973373bf6']
#checksums = ['8ac646b108f974371eef398973373bf6']
dependencies = [
('zlib', '1.2.11', '', True),

View File

@ -15,7 +15,7 @@ toolchainopts = {'pic': True, 'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on how to get access to the code
sources = ['%(namelower)s.%(version)s.tar.gz']
checksums = ['8ac646b108f974371eef398973373bf6']
#checksums = ['8ac646b108f974371eef398973373bf6']
dependencies = [
('zlib', '1.2.11', '', True),

View File

@ -15,7 +15,7 @@ toolchainopts = {'pic': True, 'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on how to get access to the code
sources = ['%(namelower)s.%(version)s.tar.gz']
checksums = ['8ac646b108f974371eef398973373bf6']
#checksums = ['8ac646b108f974371eef398973373bf6']
dependencies = [
('zlib', '1.2.11', '', True),

View File

@ -0,0 +1,54 @@
easyblock = 'MakeCp'
name = 'VASP'
version = '5.4.4'
versionsuffix = '-mkl=cluster'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles."""
toolchain = {'name': 'intel', 'version': '2017b'}
toolchainopts = {'pic': True, 'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on how to get access to the code
sources = ['%(namelower)s.%(version)s.tar.gz']
#checksums = ['8ac646b108f974371eef398973373bf6']
dependencies = [
('zlib', '1.2.11', '', True),
]
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# path to libfftw3xf_intel.a is hardcoded in makefile.include
prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && '
# remove mkl flag to prevent mixing dynamic libs with the static libs in LIBBLACS/SCALAPACK
prebuildopts += 'sed -i "s|-mkl=sequential|-mkl=cluster|" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -xAVX|" makefile.include && '
# objects add MKLROOT
prebuildopts += 'sed -i "s|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \$\(MKLROOT\)/lib/intel64_lin/libfftw3xf_intel.a|" makefile.include && '
# VASP uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'all BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK"'
parallel = 1
files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')]
sanity_check_paths = {
'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'],
'dirs': []
}
moduleclass = 'phys'