Commit 1cf1004f authored by Lukáš Krupčík's avatar Lukáš Krupčík

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
parent 994fa802
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'
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'
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'
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'
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'
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'
......@@ -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),
......
......@@ -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),
......
......@@ -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),
......
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'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment