add karolina

This commit is contained in:
easybuild 2021-07-02 11:52:11 +02:00
parent 2497a920d6
commit 9dde6530b9
65 changed files with 2580 additions and 5 deletions

View File

@ -0,0 +1,25 @@
# IT4Innovations 2019
name = 'ANSYS'
version = '21.1'
homepage = 'http://www.ansys.com'
description = """ANSYS simulation software enables organizations to confidently predict
how their products will operate in the real world. We believe that every product is
a promise of something greater. """
toolchain = {'name': 'intel', 'version': '2018a'}
# create a zip file from the 3 install iso files.
# make sure all files of the iso's are in the same directory.
sources = ['ANSYS-21.1.tar.gz']
dependencies = [
('libGLU', '9.0.0', '', True),
]
import os
license_server = os.getenv('EB_ANSYS_LICENSE_SERVER', 'lm-brno.ics.muni.cz')
license_server_port = os.getenv('EB_ANSYS_LICENSE_SERVER_PORT', '2325:1055')
moduleclass = 'tools'

View File

@ -0,0 +1,38 @@
# IT$Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'arpack-ng'
version = "3.8.0"
homepage = 'https://github.com/opencollab/arpack-ng'
description = """ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
github_account = 'opencollab'
source_urls = [GITHUB_SOURCE]
sources = ['%(version)s.tar.gz']
checksums = ['ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d']
builddependencies = [
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
dependencies = [
('Eigen', '3.3.8')
]
preconfigopts = "sh bootstrap && "
configopts = '--enable-mpi --with-pic --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"'
sanity_check_paths = {
'files': ["lib64/libarpack.la", "lib64/libarpack.%s" % SHLIB_EXT,
"lib64/libparpack.la", "lib64/libparpack.%s" % SHLIB_EXT],
'dirs': []
}
moduleclass = 'numlib'

View File

@ -0,0 +1,37 @@
# IT4Innovations 2021
# LK
name = 'BerkeleyGW'
version = '2.1.0'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://www.berkeleygw.org'
description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle
properties and the optical responses of a large variety of materials from bulk periodic crystals to
nanostructures such as slabs, wires and molecules."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'usempi': True, 'openmp': True, 'precise': True}
source_urls = ['https://berkeley.box.com/shared/static/']
sources = [{'download_filename': 'ze3azi5vlyw7hpwvl9i5f82kaiid6g0x.gz', 'filename': SOURCE_TAR_GZ}]
patches = [
'BerkeleyGW-2.1.0_missing_file.patch',
'BerkeleyGW-2.1.0_tests.patch',
]
checksums = [
'31f3b643dd937350c3866338321d675d4a1b1f54c730b43ad74ae67e75a9e6f2', # BerkeleyGW-2.1.0.tar.gz
'3689262976b873d65ffce4c89a5dc8ef5731914a5b71eadacba244750fc6b7ae', # BerkeleyGW-2.1.0_missing_file.patch
'340bb854ae78cf5a1ce7b277f1c16dc3140ef9dbc39715082097b632858ef633', # BerkeleyGW-2.1.0_tests.patch
]
dependencies = [
('ELPA', '2019.11.001'),
('Python', '3.8.6'),
('h5py', '2.10.0', versionsuffix),
]
# two tests failing (Si-EPM_subspace_cplx) with the intel toolchain, a few more if on skylake
runtest = False
moduleclass = 'phys'

View File

@ -0,0 +1,13 @@
* manual.html is missing from the distribution
author: Miguel Dias Costa (National University of Singapore)
--- Makefile.orig 2018-06-18 12:12:48.081168468 +0800
+++ Makefile 2018-06-18 12:13:02.795191541 +0800
@@ -124,7 +124,7 @@
# install cannot work on a whole directory
cp -rf examples $(INSTDIR)/share/BerkeleyGW/
cp -rf testsuite $(INSTDIR)/share/BerkeleyGW/
- install manual.html $(INSTDIR)/share/BerkeleyGW/
+ #install manual.html $(INSTDIR)/share/BerkeleyGW/
else
$(error Error: Please define installation prefix INSTDIR via 'make install INSTDIR='.)
endif

View File

@ -0,0 +1,42 @@
* enable parallel tests
* allow test scripts to inherit environment
* slightly raise tolerance in one test
author: Miguel Dias Costa (National University of Singapore)
--- Makefile.orig 2019-07-23 17:40:16.489733901 +0800
+++ Makefile 2019-07-23 17:40:33.656497133 +0800
@@ -157,7 +157,7 @@
endif
check: all
- cd testsuite && $(MAKE) check
+ cd testsuite && $(MAKE) check && $(MAKE) check-parallel
check-save: all
cd testsuite && $(MAKE) check-save
--- testsuite/run_testsuite.sh.orig 2019-07-25 14:48:12.000000000 +0800
+++ testsuite/run_testsuite.sh 2019-07-25 14:47:50.000000000 +0800
@@ -1,4 +1,4 @@
-#!/bin/bash -l
+#!/bin/bash
#
# Copyright (C) 2005-2009 Heiko Appel, David Strubbe
#
--- MeanField/Utilities/mf_convert_wrapper.sh.orig 2019-07-26 09:52:27.648341000 +0800
+++ MeanField/Utilities/mf_convert_wrapper.sh 2019-07-26 09:52:39.922114228 +0800
@@ -1,4 +1,4 @@
-#!/bin/bash -l
+#!/bin/bash
# David Strubbe, October 2010
# Wrapper for mf_convert.x
--- testsuite/GaAs-EPM/GaAs.test.orig 2019-07-26 10:45:19.798520000 +0800
+++ testsuite/GaAs-EPM/GaAs.test 2019-07-26 10:45:37.753775275 +0800
@@ -32,7 +32,7 @@
Output : WFN.out
Input : WFN.in PIPE
-Precision : 8e-15
+Precision : 9e-15
match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.2710614199849328
match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.2565373697755460
match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.1322637363008994

View File

@ -0,0 +1,28 @@
easyblock = 'ConfigureMake'
name = 'Bison'
version = '3.7.6'
homepage = 'https://www.gnu.org/software/bison'
description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar
into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables."""
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
# checksums = ['1dd952839cf0d5a8178c691eeae40dc48fa50d18dcce648b1ad9ae0195367d13']
builddependencies = [
('M4', '1.4.18'),
# use same binutils version that was used when building GCCcore toolchain
('binutils', '2.35', '', True),
]
sanity_check_paths = {
'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')],
'dirs': [],
}
moduleclass = 'lang'

View File

@ -0,0 +1,26 @@
easyblock = 'Tarball'
name = 'bwidget'
version = '1.9.14'
homepage = 'https://core.tcl-lang.org/bwidget/home'
description = 'The BWidget Toolkit is a high-level Widget Set for Tcl/Tk built using native Tcl/Tk 8.x namespaces.'
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
source_urls = ['https://downloads.sourceforge.net/project/tcllib/BWidget/%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['8e9692140167161877601445e7a5b9da5bb738ce8d08ee99b016629bc784a672']
builddependencies = [('binutils', '2.35')]
dependencies = [('Tk', '8.6.11')]
modextrapaths = {'TCLLIBPATH': '.'}
sanity_check_paths = {
'files': ['button.tcl'],
'dirs': ['BWman'],
}
moduleclass = 'vis'

33
c/CMake/CMake-3.18.4.eb Normal file
View File

@ -0,0 +1,33 @@
# IT4Innovations 2021
# LK
name = 'CMake'
version = '3.18.4'
homepage = 'https://www.cmake.org'
description = """
CMake, the cross-platform, open-source build system. CMake is a family of
tools designed to build, test and package software.
"""
toolchain = SYSTEM
source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77']
dependencies = [
('ncurses', '6.2'),
('zlib', '1.2.11'),
('bzip2', '1.0.8'),
('cURL', '7.72.0'),
('libarchive', '3.4.3'),
# OS dependency should be preferred if the os version is more recent then this version,
# it's nice to have an up to date openssl for security reasons
# ('OpenSSL', '1.1.1h'),
]
osdependencies = [OS_PKG_OPENSSL_DEV]
moduleclass = 'devel'

46
c/cURL/cURL-7.72.0.eb Normal file
View File

@ -0,0 +1,46 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'cURL'
version = '7.72.0'
homepage = 'https://curl.haxx.se'
description = """
libcurl is a free and easy-to-use client-side URL transfer library,
supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP
form based upload, proxies, cookies, user+password authentication (Basic,
Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling
and more.
"""
toolchain = SYSTEM
source_urls = ['https://curl.haxx.se/download/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['d4d5899a3868fbb6ae1856c3e55a32ce35913de3956d1973caccd37bd0174fa2']
dependencies = [
('zlib', '1.2.11'),
# OS dependency should be preferred if the os version is more recent then this version,
# it's nice to have an up to date openssl for security reasons
# ('OpenSSL', '1.1.1h')
]
osdependencies = [OS_PKG_OPENSSL_DEV]
configopts = '--with-zlib'
# configopts += '--with-ssl=$EBROOTOPENSSL'
modextravars = {'CURL_INCLUDES': '%(installdir)s/include'}
sanity_check_paths = {
'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT],
'dirs': ['lib/pkgconfig', 'include/curl'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,72 @@
# IT4Innovations 2021
# LK
easyblock = 'CMakeMake'
name = 'DFTB+'
version = '21.1'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://www.dftb-plus.info'
description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package.
It is based on the Density Functional Tight Binding (DFTB) method, containing
almost all of the useful extensions which have been developed for the DFTB
framework so far. Using DFTB+ you can carry out quantum mechanical simulations
like with ab-initio density functional theory based packages, but in an
approximate way gaining typically around two order of magnitude in speed."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'lowopt': True, 'optarch': False}
local_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/'
local_external_extract = 'mkdir -p %s && tar -C %s' % (local_external_dir, local_external_dir)
local_external_extract += ' --strip-components=1 -xzf %%s'
sources = [
{
# DFTB+ source code
'source_urls': ['https://github.com/dftbplus/dftbplus/archive'],
'download_filename': '%(version)s.tar.gz',
'filename': SOURCE_TAR_GZ,
},
{
# Slater-Koster (slakos) data for testing
'source_urls': ['https://github.com/dftbplus/testparams/archive'],
'download_filename': 'd0ea16df2b56d14c7c3dc9329a8d3bac9fea50a0.tar.gz',
'filename': 'slakos-data-%(version)s.tar.gz',
'extract_cmd': local_external_extract % ('slakos', 'slakos'),
},
]
builddependencies = [
('CMake', '3.16.4'),
]
dependencies = [
('Python', '3.8.2'),
('SciPy-bundle', '2020.03', versionsuffix),
('arpack-ng', '3.5.0'),
('dftd3-lib', '0.9', '', ('GCC', '9.3.0')),
]
# Link to Arpack and OpenBLAS from EB
local_makeopts = ' WITH_ARPACK=1 ARPACK_LIBS="-L$EBROOTARPACKMINNG/lib -larpack" ARPACK_NEEDS_LAPACK=1'
# Use DFTD3 from EB
local_makeopts += ' WITH_DFTD3=1 COMPILE_DFTD3=0 DFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"'
local_makeopts += ' DFTD3_LIBS="-L$EBROOTDFTD3MINLIB/lib -ldftd3"'
buildopts = local_makeopts
installopts = 'INSTALLDIR="%(installdir)s"'
sanity_check_paths = {
'files': ['bin/' + x for x in ['dftb+', 'dp_bands', 'dp_dos', 'gen2cif', 'gen2xyz', 'makecube',
'modes', 'repeatgen', 'straingen', 'waveplot', 'xyz2gen']],
'dirs': ['lib/python%(pyshortver)s/site-packages']
}
sanity_check_commands = [('python', '-c "import dptools"')]
modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
moduleclass = 'phys'

View File

@ -0,0 +1,74 @@
# IT4Innovations 2021
# LK
easyblock = 'CMakeMake'
name = 'DFTB+'
version = '21.1'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://www.dftb-plus.info'
description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package.
It is based on the Density Functional Tight Binding (DFTB) method, containing
almost all of the useful extensions which have been developed for the DFTB
framework so far. Using DFTB+ you can carry out quantum mechanical simulations
like with ab-initio density functional theory based packages, but in an
approximate way gaining typically around two order of magnitude in speed."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'lowopt': True, 'optarch': False}
local_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/'
local_external_extract = 'mkdir -p %s && tar -C %s' % (local_external_dir, local_external_dir)
local_external_extract += ' --strip-components=1 -xzf %%s'
sources = [
{
# DFTB+ source code
'source_urls': ['https://github.com/dftbplus/dftbplus/archive'],
'download_filename': '%(version)s.tar.gz',
'filename': SOURCE_TAR_GZ,
},
{
# Slater-Koster (slakos) data for testing
'source_urls': ['https://github.com/dftbplus/testparams/archive'],
'download_filename': 'd0ea16df2b56d14c7c3dc9329a8d3bac9fea50a0.tar.gz',
'filename': 'slakos-data-%(version)s.tar.gz',
'extract_cmd': local_external_extract % ('slakos', 'slakos'),
},
]
builddependencies = [
('CMake', '3.18.4'),
]
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.03', versionsuffix),
('arpack-ng', '3.8.0'),
('dftd3-lib', '0.9.2', '', ('GCC', '10.2.0')),
]
# Link to Arpack
local_makeopts = ' WITH_ARPACK=1 ARPACK_LIBS="-L$EBROOTARPACKMINNG/lib -larpack" ARPACK_NEEDS_LAPACK=1'
# Use DFTD3 from EB
local_makeopts += ' WITH_DFTD3=1 COMPILE_DFTD3=0 DFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"'
local_makeopts += ' DFTD3_LIBS="-L$EBROOTDFTD3MINLIB/lib -ldftd3"'
buildopts = local_makeopts
#runtest = 'test' + local_makeopts
installopts = 'INSTALLDIR="%(installdir)s"'
sanity_check_paths = {
'files': ['bin/' + x for x in ['dftb+', 'dp_bands', 'dp_dos', 'gen2cif', 'gen2xyz', 'makecube',
'modes', 'repeatgen', 'straingen', 'waveplot', 'xyz2gen']],
'dirs': ['lib/python%(pyshortver)s/site-packages']
}
sanity_check_commands = [('python', '-c "import dptools"')]
modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
moduleclass = 'phys'

View File

@ -0,0 +1,133 @@
#
# Global architecture independent build settings
#
#set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build type (Release|RelWithDebInfo|Debug|MinSizeRel)")
# CMAKE_BUILD_TYPE is commented out in order to allow for multi-configuration builds. It will
# automatically default to RelWithDebInfo if used in a single configuration build. Uncomment or
# override it only if you want a non-default single configuration build.
option(WITH_OMP "Whether OpenMP thread parallisation should be enabled" TRUE)
option(WITH_MPI "Whether DFTB+ should support MPI-parallelism" FALSE)
# If you build an MPI-parallised binary, consider to set WITH_OMP (OpenMP thread parallelisaton) to
# FALSE unless you want hybrid parallelisation (for experts only).
option(WITH_ELSI "Whether DFTB+ with MPI-parallelism should use the ELSI libraries" FALSE)
# Works only with MPI-parallel build.
option(WITH_GPU "Whether DFTB+ should support GPU-acceleration via the MAGMA-library" FALSE)
option(WITH_TRANSPORT "Whether transport via libNEGF should be included." TRUE)
# Works only when building static libraries (see option BUILD_SHARED_LIBS)
option(WITH_POISSON "Whether the Poisson-solver should be included" ${WITH_TRANSPORT})
# The Poisson-solver is mostly used in transport calculations only. Enable this option
# if you want to use it in a non-transport build. Note, the Poisson-solver is not
# multi-instance safe and is therefore not allowed, if WITH_API (see below) is on.
option(WITH_SOCKETS "Whether socket communication should be allowed for" FALSE)
option(WITH_ARPACK "Whether the ARPACK library should be included (needed for TD-DFTB)" TRUE)
# Works only with non-MPI (serial) build, needed for Casida linear response
option(WITH_DFTD3 "Whether the DFTD3 library should be included" TRUE)
# NOTE: Due to the license of the DFTD3 library, the combined code must be distributed under the
# GPLv3 license (as opposed to the LGPLv3 license of the DFTB+ package)
option(WITH_MBD "Whether DFTB+ should be built with many-body-dispersion support" FALSE)
option(WITH_PLUMED "Whether metadynamics via the PLUMED2 library should be allowed for" FALSE)
option(WITH_API "Whether public API should be included and the DFTB+ library installed" FALSE)
# Turn this on, if you want to use the DFTB+ library to integrate DFTB+ into other software
# packages. (Otherwise only a stripped down version of the library without the public API is built.)
# This will also install necessary include and module files and further libraries needed to link the
# DFTB+ library.
option(INSTANCE_SAFE_BUILD "Whether build should support concurrent DFTB+ instances" FALSE)
# Turn this on, if you want to create multiple concurrent DFTB+ instances **within one process** via
# the API. This option will ensure that only components without writable global variables are
# included in the build, so that multiple instances can safely coexist. There are components
# (e.g. Poisson, DFTD-D3, ARPACK) which can not be included if this option is on. Note, this option
# is not relevant for the standalone DFTB+ binary, only for the API (if WITH_API had been turned
# on).
option(WITH_PYTHON "Whether the Python components of DFTB+ should be tested and installed" TRUE)
option(BUILD_SHARED_LIBS "Whether the libraries built should be shared" FALSE)
# Turn this on, if the DFTB+ library (and other compiled libraries) should be shared libraries and
# dynamically linked to their applications. This results in smaller applications, but the libraries
# must be present at run-time (and the correct LD_LIBRARY_PATH environment variable must be set, so
# that they can be found by the operating system). If you want use the DFTB+ library from other
# software packages (see WITH_API option above), they may also require a shared library (e.g.
# calling DFTB+ functions from Python or Julia).
#
# Test environment settings
#
set(TEST_MPI_PROCS "1" CACHE STRING "Nr. of MPI processes used for testing")
set(TEST_OMP_THREADS "1" CACHE STRING "Nr. of OpenMP-threads used for testing")
# Command line used to launch the test code.
# The escaped variables (\${VARIABLE}) will be substituted by the corresponding CMake variables.
if(WITH_MPI)
set(TEST_RUNNER_TEMPLATE "env OMP_NUM_THREADS=\${TEST_OMP_THREADS} mpiexec -n \${TEST_MPI_PROCS}"
CACHE STRING "How to run the tests")
else()
set(TEST_RUNNER_TEMPLATE "env OMP_NUM_THREADS=\${TEST_OMP_THREADS}" CACHE STRING
"How to run the tests")
set(MODES_RUNNER_TEMPLATE "env OMP_NUM_THREADS=\${TEST_OMP_THREADS}" CACHE STRING
"How to run the modes code for tests")
endif()
# Turn it on to include the unit tests (needes FyTest)
option(WITH_UNIT_TESTS "Whether the unit tests should be built" FALSE)
#
# Installation options
#
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/_install" CACHE STRING
"Directory to install the compiled code into")
set(INSTALL_INCLUDEDIR "dftbplus" CACHE PATH
"Name of the project specific sub-folder within the install folder for include files")
set(INSTALL_MODULEDIR "${INSTALL_INCLUDEDIR}/modfiles" CACHE PATH
"Installation directory for Fortran module files (within the install folder for include files)")
set(PKGCONFIG_LANGUAGE "Fortran" CACHE STRING
"Compiler and Linker language to assume when creating the pkg-config export file (C or Fortran)")
# The pkg-config export file (lib/pkgconfig/dftbplus.pc) contains the compiler and linker options
# needed to link the DFTB+ library to an application. (It can be queried with the pkg-config tool.)
# Depending on the language setting ("C" or "Fortran") you would get the flags for the case of using
# that compiler for the linking.
#
# Advanced options (e.g. for developers and packagers)
#
#set(TOOLCHAIN "gnu" CACHE STRING "Prefix of the toolchain file to be read from the sys/ folder")
# Uncomment and set it if you want to override the automatic, compiler based toolchain file
# selection.
set(HYBRID_CONFIG_METHODS "Submodule;Find;Fetch" CACHE STRING
"Configuration methods to try in order to satisfy hybrid dependencies")
#
# This list can be used to control how hybrid dependencies (external dependencies which can
# optionally be built during the build process) are configured. The listed methods are applied in
# the specified order. Following methods are available:
#
# Submodule: Use the source in external/*/origin and build the dependency as part of the build
# process. If the source is not present, try to retrieve it via the 'git submodule' command
# (provided the source tree is a git repository and git is available)
#
# Find: Find the dependency as an already installed package in the system.
#
# Fetch: Fetch the source into the build folder and build the dependency as part of the build
# process (works also in cases where the source tree is not a Git repository)

View File

@ -0,0 +1,38 @@
# IT4Innovations 2021
# LK
easyblock = 'MakeCp'
name = 'dftd3-lib'
version = '0.9.2'
homepage = 'https://github.com/dftbplus/dftd3-lib'
description = """This is a repackaged version of the DFTD3 program by S. Grimme and his coworkers.
The original program (V3.1 Rev 1) was downloaded at 2016-04-03. It has been
converted to free format and encapsulated into modules."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
toolchainopts = {'pic': True}
github_account = 'dftbplus'
source_urls = [GITHUB_SOURCE]
sources = ['%(version)s.tar.gz']
patches = ['dftd3-lib-%(version)s_fix-extras-syntax.patch']
parallel = 1
buildopts = 'FC="$FC" FCFLAGS="$FCFLAGS" LNFLAGS="$LDFLAGS"'
files_to_copy = [
(['prg/dftd3', 'test/testapi'], 'bin'),
(['lib/libdftd3.a'], 'lib'),
(['lib/*.mod', 'prg/*.mod'], 'include'),
(['doc/man.pdf', 'CHANGELOG.rst', 'LICENSE', 'README.rst'], 'share'),
]
sanity_check_paths = {
'files': ['bin/dftd3', 'bin/testapi', 'lib/libdftd3.a'],
'dirs': ['include', 'share'],
}
moduleclass = 'chem'

View File

@ -0,0 +1,22 @@
Fix syntax of extras.f90
Author: Alex Domingo (Vrije Universiteit Brussel)
--- prg/extras.f90.orig 2020-04-07 15:53:37.579346000 +0200
+++ prg/extras.f90 2020-04-07 15:53:47.270025090 +0200
@@ -285,7 +285,7 @@
close(11)
write(*,*) 'checksum (Edisp) ',check
- if (abs(check-etot).gt.1.d-3)stop'something is weired in adisp'
+ if (abs(check-etot).gt.1.d-3) stop 'something is weired in adisp'
inquire(file='fragment',exist=ex)
if (.not.ex) return
@@ -1746,7 +1746,7 @@
close(11)
write(*,*) 'checksum (Edisp) ',check
- if (abs(check-etot).gt.1.d-3)stop'something is weired in adisp'
+ if (abs(check-etot).gt.1.d-3) stop 'something is weired in adisp'
deallocate(dist,li)
return

View File

@ -0,0 +1,28 @@
# IT4Innovations 2021
# LK
name = 'ELPA'
version = '2019.11.001'
homepage = 'http://elpa.rzg.mpg.de'
description = """Eigenvalue SoLvers for Petaflop-Applications ."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'openmp': True, 'usempi': True}
source_urls = ['http://elpa.mpcdf.mpg.de/html/Releases/%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
preconfigopts = "export FC='mpiifort' && "
preconfigopts += "export CC='mpicc' && "
preconfigopts += 'export FCFLAGS="-O3 -xAVX2" && '
preconfigopts += 'export CFLAGS="-O3 -march=native -mavx2 -mfma -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize" && '
preconfigopts += 'export SCALAPACK_LDFLAG=S"-L$MKLROOT/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread " && '
preconfigopts += 'export SCALAPACK_FCFLAGS="-I$MKL_HOME/include/intel64/lp64" && '
configopts = '--enable-option-checking=fatal'
builddependencies = [
('Autotools', '20200321'),
]
moduleclass = 'math'

View File

@ -0,0 +1,59 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'GDRCopy'
version = '2.1'
versionsuffix = '-CUDA-11.2.0'
homepage = 'https://github.com/NVIDIA/gdrcopy'
description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology."
toolchain = {'name': 'NVHPC', 'version': '21.2'}
toolchainopts = {'pic': True}
github_account = 'NVIDIA'
source_urls = [GITHUB_SOURCE]
sources = ['v%(version)s.tar.gz']
checksums = ['cecc7dcc071107f77396f5553c9109790b6d2298ae29eb2dbbdd52b2a213e4ea']
builddependencies = [
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
dependencies = [
('Check', '0.15.2'),
('CUDAcore', '11.2.0', '', True),
]
# This easyconfig only installs the library and binaries of GDRCopy. Please
# keep in mind that GDRCopy also needs the following kernel modules at runtime:
#
# 1. Kernel module for GDRCopy: improves Host to GPU communication
# https://github.com/NVIDIA/gdrcopy
# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms'
# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0
#
# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication
# https://github.com/Mellanox/nv_peer_memory
# RPM: 'nvidia_peer_memory'
# Requirements: Mellanox HCA with MLNX_OFED 2.1
#
# These kernel modules are not listed as system dependencies to lower the system
# requirements to build this easyconfig, as they are not needed for the build.
skipsteps = ['configure']
local_envopts = "PREFIX=%(installdir)s CUDA=$EBROOTCUDACORE"
prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found
buildopts = "config lib exes %s" % local_envopts
installopts = local_envopts
sanity_check_paths = {
'files': ['bin/copybw', 'bin/copylat', 'bin/sanity', 'lib/libgdrapi.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,59 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'GDRCopy'
version = '2.1'
versionsuffix = '-CUDA-11.2.2'
homepage = 'https://github.com/NVIDIA/gdrcopy'
description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology."
toolchain = {'name': 'NVHPC', 'version': '21.2'}
toolchainopts = {'pic': True}
github_account = 'NVIDIA'
source_urls = [GITHUB_SOURCE]
sources = ['v%(version)s.tar.gz']
checksums = ['cecc7dcc071107f77396f5553c9109790b6d2298ae29eb2dbbdd52b2a213e4ea']
builddependencies = [
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
dependencies = [
('Check', '0.15.2'),
('CUDAcore', '11.2.2', '', True),
]
# This easyconfig only installs the library and binaries of GDRCopy. Please
# keep in mind that GDRCopy also needs the following kernel modules at runtime:
#
# 1. Kernel module for GDRCopy: improves Host to GPU communication
# https://github.com/NVIDIA/gdrcopy
# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms'
# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0
#
# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication
# https://github.com/Mellanox/nv_peer_memory
# RPM: 'nvidia_peer_memory'
# Requirements: Mellanox HCA with MLNX_OFED 2.1
#
# These kernel modules are not listed as system dependencies to lower the system
# requirements to build this easyconfig, as they are not needed for the build.
skipsteps = ['configure']
local_envopts = "PREFIX=%(installdir)s CUDA=$EBROOTCUDACORE"
prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found
buildopts = "config lib exes %s" % local_envopts
installopts = local_envopts
sanity_check_paths = {
'files': ['bin/copybw', 'bin/copylat', 'bin/sanity', 'lib/libgdrapi.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,59 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'GDRCopy'
version = '2.1'
versionsuffix = '-CUDA-11.3.0'
homepage = 'https://github.com/NVIDIA/gdrcopy'
description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology."
toolchain = {'name': 'NVHPC', 'version': '21.2'}
toolchainopts = {'pic': True}
github_account = 'NVIDIA'
source_urls = [GITHUB_SOURCE]
sources = ['v%(version)s.tar.gz']
checksums = ['cecc7dcc071107f77396f5553c9109790b6d2298ae29eb2dbbdd52b2a213e4ea']
builddependencies = [
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
dependencies = [
('Check', '0.15.2'),
('CUDAcore', '11.3.0', '', True),
]
# This easyconfig only installs the library and binaries of GDRCopy. Please
# keep in mind that GDRCopy also needs the following kernel modules at runtime:
#
# 1. Kernel module for GDRCopy: improves Host to GPU communication
# https://github.com/NVIDIA/gdrcopy
# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms'
# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0
#
# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication
# https://github.com/Mellanox/nv_peer_memory
# RPM: 'nvidia_peer_memory'
# Requirements: Mellanox HCA with MLNX_OFED 2.1
#
# These kernel modules are not listed as system dependencies to lower the system
# requirements to build this easyconfig, as they are not needed for the build.
skipsteps = ['configure']
local_envopts = "PREFIX=%(installdir)s CUDA=$EBROOTCUDACORE"
prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found
buildopts = "config lib exes %s" % local_envopts
installopts = local_envopts
sanity_check_paths = {
'files': ['bin/copybw', 'bin/copylat', 'bin/sanity', 'lib/libgdrapi.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'lib'

29
g/git/git-2.31.1.eb Normal file
View File

@ -0,0 +1,29 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'git'
version = "2.31.1"
homepage = 'http://git-scm.com/'
description = """Git is a free and open source distributed version control system designed
to handle everything from small to very large projects with speed and efficiency."""
toolchain = SYSTEM
source_urls = ['https://www.kernel.org/pub/software/scm/git/']
sources = ['%(name)s-%(version)s.tar.gz']
builddependencies = [
('Autoconf', '2.69', '', True)
]
preconfigopts = 'make configure && '
sanity_check_paths = {
'files': ['bin/git'],
'dirs': [],
}
moduleclass = 'tools'

View File

@ -0,0 +1,31 @@
# IT4Innpvations 2021
# LK
name = 'HDF5'
version = '1.10.6'
homepage = 'https://portal.hdfgroup.org/display/support'
description = """HDF5 is a data model, library, and file format for storing and managing data.
It supports an unlimited variety of datatypes, and is designed for flexible
and efficient I/O and for high volume and complex data."""
toolchain = {'name': 'iimpi', 'version': '2020a'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa']
dependencies = [
('zlib', '1.2.11'),
('Szip', '2.1.1'),
]
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx'
moduleclass = 'data'

View File

@ -0,0 +1,24 @@
# IT4Innovations 2021
# LK
name = 'HDF5'
version = '1.10.6'
homepage = 'https://portal.hdfgroup.org/display/support'
description = """HDF5 is a data model, library, and file format for storing and managing data.
It supports an unlimited variety of datatypes, and is designed for flexible
and efficient I/O and for high volume and complex data."""
toolchain = {'name': 'iimpi', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa']
dependencies = [
('zlib', '1.2.11'),
('Szip', '2.1.1'),
]
moduleclass = 'data'

View File

@ -15,6 +15,11 @@ source_urls = [
'https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx'
dependencies = [

View File

@ -19,6 +19,11 @@ dependencies = [
('Szip', '2.1.1'),
]
configopts = '--enable-fortran --enable-fortran 2003 --enable-fortran2003 --enable-cxx'
configopts = '--enable-fortran --enable-fortran 2003 --enable-fortran2003 --enable-cxx '
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
moduleclass = 'data'

View File

@ -0,0 +1,40 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonPackage'
name = 'h5py'
version = '2.10.0'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://www.h5py.org/'
description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library,
version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous
amounts of data."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'usempi': True}
source_urls = [PYPI_SOURCE]
sources = [SOURCE_TAR_GZ]
#patches = ['h5py-%(version)s_avoid-mpi-init.patch']
#checksums = [
# '84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d', # h5py-2.10.0.tar.gz
# '6bacb71f5d9fbd7bd9a01018d7fe21b067a2317f33c4a7c21fde9cd404c1603f', # h5py-2.10.0_avoid-mpi-init.patch
#]
builddependencies = [('pkgconfig', '1.5.1', versionsuffix)]
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.03', versionsuffix),
('HDF5', '1.10.6', '', ('iimpi', '2020b')),
]
use_pip = False
download_dep_fail = True
# to really use mpi enabled hdf5 we now seem to need a configure step, which is the reason we can't use pip
prebuildopts = 'python setup.py configure --mpi --hdf5=$EBROOTHDF5 && '
moduleclass = 'data'

View File

@ -0,0 +1,25 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonPackage'
name = 'hypothesis'
version = '6.13.1'
homepage = "https://github.com/HypothesisWorks/hypothesis"
description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized
by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets
you find more bugs in your code with less work."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
sources = [SOURCE_TAR_GZ]
checksums = ['074e27e514b305ba0b0c6bc0037faad1abbe2ea641ab4a8ec90e12a5e3238009']
dependencies = [('Python', '3.8.6')]
use_pip = True
download_dep_fail = True
sanity_pip_check = True
moduleclass = 'tools'

20
i/iimpi/iimpi-2020a.eb Normal file
View File

@ -0,0 +1,20 @@
# IT4Innovations 2021
# LK
easyblock = 'Toolchain'
name = 'iimpi'
version = '2020a'
homepage = 'https://software.intel.com/parallel-studio-xe'
description = """Intel C/C++ and Fortran compilers, alongside Intel MPI."""
toolchain = SYSTEM
local_compver = '2020.1.217'
dependencies = [
('iccifort', local_compver),
('impi', '2019.9.304', '', ('iccifort', local_compver)),
]
moduleclass = 'toolchain'

View File

@ -0,0 +1,38 @@
# IT4Innovations 2021
# LK
name = 'impi'
version = '2018.4.274'
homepage = 'https://software.intel.com/en-us/intel-mpi-library/'
description = "Intel MPI Library, compatible with MPICH ABI"
toolchain = {'name': 'iccifort', 'version': '2019.1.144-GCC-8.2.0-2.31.1'}
source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13651/']
sources = ['l_mpi_%(version)s.tgz']
checksums = ['a1114b3eb4149c2f108964b83cad02150d619e50032059d119ac4ffc9d5dd8e0']
dontcreateinstalldir = True
components = ['intel-mpi', 'intel-psxe', 'intel-imb']
dependencies = [
# needed by libfabric provider MLX introduced in Intel MPI v2019.6,
# https://software.intel.com/en-us/articles/improve-performance-and-stability-with-intel-mpi-library-on-infiniband
('UCX', '1.9.0'),
]
# 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'

View File

@ -0,0 +1,35 @@
# IT4Innovations 2021
# LK
name = 'impi'
version = '2019.9.304'
homepage = 'https://software.intel.com/en-us/intel-mpi-library/'
description = "Intel MPI Library, compatible with MPICH ABI"
toolchain = {'name': 'iccifort', 'version': '2020.1.217'}
source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17263/']
sources = ['l_mpi_%(version)s.tgz']
checksums = ['618a5dc2de54306645e6428c5eb7d267b54b11b5a83dfbcad7d0f9e0d90bb2e7']
dependencies = [
# needed by libfabric provider MLX introduced in Intel MPI v2019.6,
# https://software.intel.com/en-us/articles/improve-performance-and-stability-with-intel-mpi-library-on-infiniband
('UCX', '1.9.0'),
]
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
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
modextravars = {'I_MPI_OFI_PROVIDER': 'MLX',
'FI_PROVIDER': 'verbs',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,29 @@
# IT4Innovatios 2021
# LK
name = 'impi'
version = '2021.2.0'
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html'
description = "Intel MPI Library, compatible with MPICH ABI"
toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'}
# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html
source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17729/']
sources = ['l_mpi_oneapi_p_%(version)s.215_offline.sh']
checksums = ['d0d4cdd11edaff2e7285e38f537defccff38e37a3067c02f4af43a3629ad4aa3']
dependencies = [('UCX', '1.10.0')]
modextravars = {
'I_MPI_OFI_PROVIDER': 'MLX',
'FI_PROVIDER': 'verbs',
'I_MPI_CC' : 'icc',
'I_MPI_CXX': 'icpc',
'I_MPI_F77': 'ifort',
'I_MPI_F90': 'ifort',
'I_MPI_FC': 'ifort',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,45 @@
# IT4Innovatios 2021
# LK
name = 'intel-compilers'
version = '2021.2.0'
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html'
description = "Intel C, C++ & Fortran compilers (classic and oneAPI)"
toolchain = SYSTEM
# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html
sources = [
{
'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17749/'],
'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.118_offline.sh',
},
{
'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17756/'],
'filename': 'l_fortran-compiler_p_%(version)s.136_offline.sh',
},
]
checksums = [
# l_dpcpp-cpp-compiler_p_2021.2.0.118_offline.sh
'5d01cbff1a574c3775510cd97ffddd27fdf56d06a6b0c89a826fb23da4336d59',
'a62e04a80f6d2f05e67cd5acb03fa58857ee22c6bd581ec0651c0ccd5bdec5a1', # l_fortran-compiler_p_2021.2.0.136_offline.sh
]
local_gccver = '10.3.0'
dependencies = [
('GCCcore', local_gccver),
('binutils', '2.36.1', '', ('GCCcore', local_gccver)),
]
modextravars = {
'CC': 'icc',
'CXX': 'icpc',
'F90': 'ifort',
'F77': 'ifort',
'FC': 'ifort',
'OPTFLAGS': '-O3 -xHost -ip',
'DEBUGFLAGS': '-O0 -g'
}
moduleclass = 'compiler'

24
i/intel/intel-2020a.eb Normal file
View File

@ -0,0 +1,24 @@
# IT4Innovations
# LK 2021
easyblock = 'Toolchain'
name = 'intel'
version = '2020a'
homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain'
description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)."
toolchain = SYSTEM
local_compver = '2020.1.217'
local_gccver = '9.3.0'
dependencies = [
('GCCcore', local_gccver),
('binutils', '2.34', '', ('GCCcore', local_gccver)),
('iccifort', local_compver),
('impi', '2019.9.304', '', ('iccifort', local_compver)),
('imkl', local_compver, '', ('iimpi', version)),
]
moduleclass = 'toolchain'

View File

@ -0,0 +1,26 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'libarchive'
version = '3.4.3'
homepage = 'https://www.libarchive.org/'
description = """
Multi-format archive and compression library
"""
toolchain = SYSTEM
source_urls = ['https://www.libarchive.org/downloads/']
sources = [SOURCE_TAR_GZ]
checksums = ['ee1e749213c108cb60d53147f18c31a73d6717d7e3d2481c157e1b34c881ea39']
sanity_check_paths = {
'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT],
'dirs': ['bin', 'share/man/man3'],
}
moduleclass = 'tools'

30
m/MATLAB/MATLAB-2021a.eb Normal file
View File

@ -0,0 +1,30 @@
# IT4Innovations
# LK 2021
name = 'MATLAB'
version = '2021a'
homepage = 'https://www.mathworks.com/products/matlab'
description = """MATLAB is a high-level language and interactive environment
that enables you to perform computationally intensive tasks faster than with
traditional programming languages such as C, C++, and Fortran."""
toolchain = SYSTEM
sources = ['matlab-%(version)s.tar.gz']
checksums = ['af53ba32e959c40071128e717a48495d']
java_options = '-Xmx2048m'
dependencies = [('Java', '1.8.0_221')]
# Use EB_MATLAB_KEY environment variable or uncomment and modify license key
# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000'
# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or
# uncomment and modify the following variables for installation with floating license server
# license_file = 'my-license-file'
# license_server = 'my-license-server'
# license_server_port = '1234'
moduleclass = 'math'

36
m/MATLAB/README.md Normal file
View File

@ -0,0 +1,36 @@
This example uses Matlab 2018a and MATLAB-2018a.eb
Steps to install Matlab:
* Install the appropriate Java install which requires manual download. See Java documentation for install.
* Matlab needs a "File Installation Key". There are a few options available:
* Your Matlab license should have a "`File Installation Key`" in under "`Advanced Options`" in the "`Install and Activate`" tab of your "`License Center`".
This will only install the products associated with this license.
* If you need to install all of the toolboxes to support multiple licenses Mathworks can enable a "`All Product File Installation Key`".
This will install all of the client products but will not install server products like MDCS.
A second manual installation on top of the first will be required.
* If you have a server product key, like MDCS, the "`File Installation Key`" may not install client products like Matlab Compilers.
A second manual installation on top of the first will be required.
* Edit the easyconfig file (`MATLAB-2018a.eb`).
* Update the version of Java to match the version installed in step 1.
* Add the following three lines
```
# This string could be really long
key = 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX'
license_server = '<IP or FQDN>'
license_server_port = '<port>'
```
* Download both ISO files from Mathworks.
* Create the tar file needed for install.
```
$ mkdir R2018a
$ mount -o loop,ro R2018a_glnxa64_dvd1.iso /mnt/
$ rsync -avHlP /mnt/ R2018a/
$ umount /mnt
$ mount -o loop,ro R2018a_glnxa64_dvd2.iso /mnt/
$ rsync -avHlP /mnt/ R2018a/
$ umount /mnt
$ tar -zcvf /my/easybuild/download/path/matlab-2018a.tar.gz R2018a
```
* Install with EasyBuild
```
$ eb MATLAB-2018a.eb -r
```

View File

@ -0,0 +1,23 @@
# IT4Innovations 2021
# LK
name = 'Molpro'
version = '2021.1.0'
versionprefix = 'mpp-'
versionsuffix = '.linux_x86_64_openmp'
homepage = 'https://www.molpro.net'
description = """Molpro is a local_complete system of ab initio programs for molecular electronic structure calculations."""
toolchain = SYSTEM
# no source URL available, requires registration to download
sources = ['%(namelower)s-%(versionprefix)s%(version)s%(versionsuffix)s.sh']
precompiled_binaries = True
# license file - uncomment if a licence file is supplied by your site and
# is valid for all users - the value of license_file may have to be changed
# license_file = HOME + '/licenses/%(name)s/license.lic'
moduleclass = 'chem'

View File

@ -0,0 +1,35 @@
# IT4Innovations 2021
# LK
easyblock = 'PackedBinary'
name = 'Newton-X'
version = '2.2-B09'
homepage = 'https://sourceforge.net/projects/actc'
description = "ACTC converts independent triangles into triangle strips or fans."
toolchain = {'name': 'intel', 'version': '2020b'}
#source_urls = [https://amubox.univ-amu.fr/s/aBMnEq7dXeZPm2H/download]
sources = ['nx-2.2-b09.tgz']
patches = ['newton-x-2.2.patch']
dependencies = [
['GSL', '2.6'],
]
install_cmd = 'NX-2.2-B09/install/installnx.pl ifort $EBROOTGSL %(installdir)s 0'
sanity_check_paths = {
'files': [ 'bin/tplot', 'bin/moldyn.pl', 'bin/plot', 'source/lib/nx_la.pm'],
'dirs': ['bin', 'batch', 'docs', 'install', 'source', 'test-nx'],
}
modextrapaths = {
'NX': 'bin',
'LIBRARY_PATH': 'source/lib',
'LD_LIBRARY_PATH': 'source/lib'
}
moduleclass = 'chem'

View File

@ -0,0 +1,70 @@
--- NX-2.2-B09/install/installnx.pl.orig 2020-03-06 12:35:13.000000000 +0100
+++ NX-2.2-B09/install/installnx.pl 2021-06-08 07:41:44.615480573 +0200
@@ -22,7 +22,7 @@
# 1) Select compiler
#$comp = "ifort";
- $comp = "gfortran";
+ $comp = "$ARGV[0]";
# 2) Choose the BLAS/LAPACK variables (_OD will be used for cioverlap_od only)
if($comp eq "ifort"){
@@ -44,8 +44,8 @@
}
# 3) Choose GSL paths:
- $idgsl="/usr/include/gsl"; # Headers
- $ldgsl="/usr/lib"; # Libraries
+ $idgsl="$ARGV[1]/include/gsl"; # Headers
+ $ldgsl="$ARGV[1]/lib"; # Libraries
# 4) If necessary (usually it isn't), change the flags for the selected compiler (_OD will be used for cioverlap_od only)
if ($comp eq "ifort"){
@@ -98,13 +98,14 @@
#================================================================
#
sub create_dir{
- print STDOUT "\n Please enter directory for the NEWTON-X installation \n ";
- $_ = <STDIN>;
- chomp;$_ =~ s/^\s*//;$_ =~ s/\s*$//;
- $instd = $_;
+ #print STDOUT "\n Please enter directory for the NEWTON-X installation \n ";
+ #$_ = <STDIN>;
+ #chomp;$_ =~ s/^\s*//;$_ =~ s/\s*$//;
+ $instd = $ARGV[2];
if (!-s $instd){
- $create_d=simple_question("\n This directory seems not to exist - create it? (y/n) ","y");
+ #$create_d=simple_question("\n This directory seems not to exist - create it? (y/n) ","y");
+ $create_d = "y";
if ($create_d eq "y"){
system("mkdir -p $instd");
if (-s $instd){
@@ -140,7 +141,7 @@
print STDOUT " [4] Time-dependent overlaps I (CIOVERLAP)\n";
print STDOUT " [5] Time-dependent overlaps II (CIOVERLAP_OD)\n";
print STDOUT " Enter comma separated list or dash separated range (<ENTER> for default): ";
- $_=<STDIN>;
+ $_=$ARGV[3];
chomp;$_ =~ s/^\s*//;$_ =~ s/\s*$//;
@list=make_num_sequence($_);
if (($_ eq "") or ($_ eq "0")){
@@ -358,12 +359,12 @@
#
sub copy_nx{
print_STDOUT(" Copying files ");
- copyfiles("$original_dir/../","source",$instd,1);
- copyfiles("$original_dir/../","docs",$instd,1);
- copyfiles("$original_dir/../","test-nx",$instd,1);
- copyfiles("$original_dir/../","batch",$instd,1);
- copyfiles("$original_dir/../","install",$instd,1);
- copyfiles("$original_dir/../","README.install",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","source",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","docs",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","test-nx",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","batch",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","install",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","README.install",$instd,1);
# Create bin directory
if (!-e $bin){
system("mkdir $bin");

View File

@ -0,0 +1,32 @@
# IT4Innovations 2021
# LK
name = 'OpenMPI'
version = '4.0.5'
versionsuffix = '-CUDA-11.2.2'
homepage = 'https://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
toolchain = {'name': 'NVHPC', 'version': '21.2'}
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_GZ]
dependencies = [
('UCX', '1.9.0', versionsuffix),
('CUDAcore', '11.2.2', '', True),
('GDRCopy', '2.1', versionsuffix),
]
preconfigopts = 'export CC="pgcc -noswitcherror" && export CXX="pgc++ -noswitcherror" && export FC="pgfortran -noswitcherror" && '
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--enable-mpirun-prefix-by-default '
configopts += '--with-tm=/opt/pbs ' # Enable PBS
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
configopts += '--with-ucx=$EBROOTUCX '
configopts += '--with-cuda=$EBROOTCUDACORE '
moduleclass = 'mpi'

View File

@ -0,0 +1,32 @@
# IT4Innovations 2021
# LK
name = 'OpenMPI'
version = '4.0.5'
versionsuffix = '-CUDA-11.3.0'
homepage = 'https://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
toolchain = {'name': 'NVHPC', 'version': '21.2'}
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_GZ]
dependencies = [
('UCX', '1.9.0', '-CUDA-11.3.0'),
('CUDAcore', '11.3.0', '', True),
('GDRCopy', '2.1', '-CUDA-11.3.0'),
]
preconfigopts = 'export CC="pgcc -noswitcherror" && export CXX="pgc++ -noswitcherror" && export FC="pgfortran -noswitcherror" && '
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--enable-mpirun-prefix-by-default '
configopts += '--with-tm=/opt/pbs ' # Enable PBS
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
configopts += '--with-ucx=$EBROOTUCX '
configopts += '--with-cuda=$EBROOTCUDACORE '
moduleclass = 'mpi'

View File

@ -0,0 +1,65 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '4.1.1'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-2 implementation."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = ['https://github.com/open-mpi/ompi/archive/refs/tags/']
sources = ['v%(version)s.tar.gz']
dependencies = [
('hwloc', '2.2.0'),
('UCX', '1.9.0',),
]
preconfigopts = './autogen.pl && '
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
configopts += '--enable-mpirun-prefix-by-default '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--with-tm=/opt/pbs ' # Enable PBS
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
configopts += '--with-ucx=$EBROOTUCX '
osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')]
postinstallcmds = [
'echo "# By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default." >> %(installdir)s/etc/openmpi-mca-params.conf',
'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf',
]
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': [], }
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24',
'OMPI_MCA_orte_base_help_aggregate': '0',
}
elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_orte_base_help_aggregate': '0',
}
else:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,30 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonPackage'
name = 'pkgconfig'
version = '1.5.1'
versionsuffix = '-Python-3.8.6'
homepage = 'https://github.com/matze/pkgconfig'
description = """pkgconfig is a Python module to interface with the pkg-config command line tool"""
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
source_urls = [PYPI_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['97bfe3d981bab675d5ea3ef259045d7919c93897db7d3b59d4e8593cba8d354f']
builddependencies = [('binutils', '2.35')]
dependencies = [
('Python', '3.8.6'),
('pkg-config', '0.29.2'),
]
use_pip = True
download_dep_fail = True
sanity_pip_check = True
moduleclass = 'devel'

View File

@ -0,0 +1,30 @@
# IT4Innovations 2021
# LK
name = 'pybind11'
version = '2.4.3'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://pybind11.readthedocs.io'
description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa,
mainly to create Python bindings of existing C++ code."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = ['https://github.com/pybind/pybind11/archive/']
sources = ['v%(version)s.tar.gz']
patches = ['%(name)s-%(version)s-fix-get-include.patch']
checksums = [
'1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d', # v2.4.3.tar.gz
'b03550f05dcff97eeb3d7f4cd393b0584341ac7a310c89ee120f95e54fdc3125', # pybind11-2.4.3-fix-get-include.patch
]
builddependencies = [
('CMake', '3.18.4'),
('Eigen', '3.3.8'),
]
dependencies = [('Python', '3.8.6')]
configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python"
moduleclass = 'lib'

View File

@ -0,0 +1,26 @@
# IT4Innovations 2021
# LK
name = 'pybind11'
version = '2.6.0'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://pybind11.readthedocs.io'
description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa,
mainly to create Python bindings of existing C++ code."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = ['https://github.com/pybind/pybind11/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['90b705137b69ee3b5fc655eaca66d0dc9862ea1759226f7ccd3098425ae69571']
builddependencies = [
('CMake', '3.18.4'),
('Eigen', '3.3.8'),
]
dependencies = [('Python', '3.8.6')]
configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python"
moduleclass = 'lib'

View File

@ -0,0 +1,40 @@
# IT4Innovations 2021
# LK
easyblock='Binary'
name = "Schrodinger"
version = "2021-2"
versionsuffix = "_Linux-x86_64"
homepage = 'http://www.schrodinger.com/'
description = """ Schrödinger aims to provide integrated software solutions and services
that truly meet its customers needs. We want to empower researchers around the world to
achieve their goals of improving human health and quality of life through advanced local_computational
techniques that transform the way chemists design local_compounds and materials. """
toolchain = SYSTEM
#Schrodinger_Suites_2021-2_Linux-x86_64.tar
sources = ['%(name)s_Suites_%(version)s%(versionsuffix)s.tar']
# -d <distribution-dir>... directory containing the install files
# -m ..................... manual mode (no automatically included modules)
# -b ..................... batch install
# -s <SCHRODINGER> ....... installation directory
# -k <tmpdir> ............ scratch directory
# -t <thirdparty-dir> .... install directory for third-party modules
install_cmd = 'tar xfv Schrodinger_Suites_%(version)s%(versionsuffix)s.tar && '
install_cmd += 'cd Schrodinger_Suites_%(version)s%(versionsuffix)s && '
install_cmd += './INSTALL -d . -s %(installdir)s -k %(builddir)s -t %(installdir)s/thirdparty -b *'
modextrapaths = {'SCHRODINGER': ''}
modextravars = {'SCHROD_LICENSE_FILE': '/apps/licenses/Schrodinger/license.dat'}
sanity_check_paths = {
'files': ["maestro", "desmond" ],
'dirs': ["thirdparty"]
}
moduleclass = 'chem'

View File

@ -0,0 +1,58 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonBundle'
name = 'SciPy-bundle'
version = '2020.03'
versionsuffix = '-Python-3.8.6'
homepage = 'https://python.org/'
description = "Bundle of Python packages for scientific software"
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'lowopt': True}
dependencies = [
('Python', '3.8.6'),
('pybind11', '2.6.0', '-GCC-10.2.0-Python-3.8.6', True), # required by scipy
]
use_pip = True
exts_default_options = {'source_urls': [PYPI_SOURCE]}
# order is important!
exts_list = [
('numpy', '1.18.3', {
'patches': ['numpy-1.18.2-mkl.patch'],
'source_tmpl': '%(name)s-%(version)s.zip',
'checksums': [
'e46e2384209c91996d5ec16744234d1c906ab79a701ce1a26155c9ec890b8dc8', # numpy-1.18.2.zip
'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf', # numpy-1.18.2-mkl.patch
],
}),
('scipy', '1.4.1', {
'patches': ['scipy-1.4.1-fix-pthread.patch'],
'checksums': [
'dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59', # scipy-1.4.1.tar.gz
'4e2162a93caddce63a1aa2dfb6c181774a4f6615950e1d60c54bb4308fee3bb3', # scipy-1.4.1-fix-pthread.patch
],
}),
('mpi4py', '3.0.3', {
'checksums': ['012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f'],
}),
('pandas', '1.0.3', {
'checksums': ['32f42e322fb903d0e189a4c10b75ba70d90958cc4f66a1781ed027f1a1d14586'],
}),
('mpmath', '1.1.0', {
'checksums': ['fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6'],
}),
('deap', '1.3.1', {
'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'],
}),
]
sanity_pip_check = True
moduleclass = 'lang'

View File

@ -0,0 +1,65 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonBundle'
name = 'SciPy-bundle'
version = '2021.05'
homepage = 'https://python.org/'
description = "Bundle of Python packages for scientific software"
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'lowopt': True}
builddependencies = [('hypothesis', '6.13.1', '', ('GCC', '10.2.0'))]
dependencies = [
('Python', '3.8.6'),
('pybind11', '2.6.0'), # required by scipy
]
use_pip = True
# order is important!
exts_list = [
('numpy', '1.20.3', {
'sources': [SOURCE_ZIP],
'patches': [
'numpy-1.20.3_skip-ppc-long-complex-test.patch',
'numpy-1.20.3_xfail-test-nan.patch',
],
'checksums': [
'e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69', # numpy-1.20.3.zip
# numpy-1.20.3_skip-ppc-long-complex-test.patch
'2f9a12e3a352b39076db84a7622fc8f4796abd3cb7f97f71958a495e864659a4',
'f0ce961f7d79551598e23050d92f46e827e300f6a7e5a6112e58efcc10385d4d', # numpy-1.20.3_xfail-test-nan.patch
],
}),
('scipy', '1.6.3', {
'checksums': ['a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707'],
}),
('mpi4py', '3.0.3', {
'checksums': ['012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f'],
}),
('numexpr', '2.7.3', {
'checksums': ['43616529f9b7d1afc83386f943dc66c4da5e052f00217ba7e3ad8dd1b5f3a825'],
}),
('Bottleneck', '1.3.2', {
'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'],
}),
('pandas', '1.2.4', {
'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """,
'checksums': ['649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279'],
}),
('mpmath', '1.2.1', {
'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'],
}),
('deap', '1.3.1', {
'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'],
}),
]
sanity_pip_check = True
moduleclass = 'lang'

View File

@ -0,0 +1,46 @@
# IT4Innovations 2020
# LK
# Dokoncit `make install` rucne, nejde bez ROOTa !!!
# /apps/all/Singularity/3.7.0/etc/singularity/singularity.conf nv=yes !!!
# Poslat info na tomas.karasek@vsb.cz o zmene...
easyblock = 'ConfigureMake'
name = 'Singularity'
version = '3.8.0'
homepage = 'https://github.com/sylabs/singularity'
description = "Singularity is an open source container platform designed to be simple, fast, and secure. Singularity is optimized for EPC and HPC workloads, allowing untrusted users to run untrusted containers in a trusted way."
toolchain = SYSTEM
source_urls = ['https://github.com/hpcng/singularity/releases/download/v%s/' % version]
sources = ['singularity-%(version)s.tar.gz']
builddependencies = [
('Go', '1.13.5'),
]
dependencies = [
('squashfs-tools', '4.3'),
]
osdependencies = [
('openssl-devel', 'libssl-dev', 'libopenssl-devel'),
]
skipsteps = ['configure']
prebuildopts = './mconfig --prefix=%(installdir)s && '
buildopts = '-C ./builddir'
postinstallcmds = [
'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf',
]
sanity_check_paths = {
'files': ['bin/singularity'],
'dirs': ['bin', 'etc', 'libexec', 'var'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,22 @@
easyblock = 'ConfigureMake'
name = 'SoX'
version = '14.4.2'
homepage = 'https://sourceforge.net/projects/sox'
description = """SoX is the Swiss Army Knife of sound processing utilities. It can convert audio files
to other popular audio file types and also apply sound effects and filters during the conversion."""
toolchain = {'name': 'intel', 'version': '2020b'}
source_urls = [SOURCEFORGE_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c']
sanity_check_paths = {
'files': ['bin/play', 'bin/rec', 'bin/sox', 'bin/soxi', 'include/sox.h',
'lib/libsox.a', 'lib/libsox.%s' % SHLIB_EXT, 'lib/pkgconfig/sox.pc'],
'dirs': ['share/man'],
}
moduleclass = 'tools'

View File

@ -1,4 +1,5 @@
# IT4Innovations 2019
# IT4Innovations 2021
# JK
easyblock = 'ConfigureMake'

View File

@ -0,0 +1,41 @@
easyblock = 'ConfigureMake'
name = 'Tcl'
version = '8.6.11'
homepage = 'https://www.tcl.tk/'
description = """
Tcl (Tool Command Language) is a very powerful but easy to learn dynamic
programming language, suitable for a very wide range of uses, including web
and desktop applications, networking, administration, testing and many more.
"""
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
source_urls = ["http://prdownloads.sourceforge.net/tcl"]
sources = ['%(namelower)s%(version)s-src.tar.gz']
# checksums = ['ad0cd2de2c87b9ba8086b43957a0de3eb2eb565c7159d5f53ccbba3feb915f4e']
builddependencies = [('binutils', '2.35')]
dependencies = [('zlib', '1.2.11')]
configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"'
runtest = 'test'
start_dir = 'unix'
postinstallcmds = [
'ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'
]
sanity_check_paths = {
'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh',
'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT,
'lib/tclConfig.sh', 'man/man1/tclsh.1'],
'dirs': ['share'],
}
moduleclass = 'lang'

View File

@ -0,0 +1,40 @@
easyblock = 'ConfigureMake'
name = 'Tk'
version = '8.6.11'
homepage = 'https://www.tcl.tk/'
description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for
building a graphical user interface (GUI) in many different programming languages."""
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
source_urls = ["https://prdownloads.sourceforge.net/tcl"]
sources = ['%(namelower)s%(version)s-src.tar.gz']
#patches = ['Tk-8.6.4_different-prefix-with-tcl.patch']
#checksums = [
# 'd3f9161e8ba0f107fe8d4df1f6d3a14c30cc3512dfc12a795daa367a27660dac', # tk8.6.9-src.tar.gz
# '7a6daa8349393af3d340e774aebf07c7410c51e01bc654ceb3679877063b961d', # Tk-8.6.4_different-prefix-with-tcl.patch
#]
builddependencies = [('binutils', '2.35')]
dependencies = [
('Tcl', version),
('X11', '20201008'),
('zlib', '1.2.11'),
]
configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"'
installopts = "&& make install-private-headers"
postinstallcmds = ["ln -s wish%(version_major_minor)s %(installdir)s/bin/wish"]
sanity_check_paths = {
'files': ["bin/wish", "lib/tkConfig.sh", "include/tkInt.h"],
'dirs': [],
}
start_dir = 'unix'
moduleclass = 'vis'

View File

@ -0,0 +1,49 @@
# IT4Innovations 2021
# JK, LK
easyblock = 'ConfigureMake'
name = 'Togl'
version = '2.0'
homepage = 'https://sourceforge.net/projects/togl/'
description = """A Tcl/Tk widget for OpenGL rendering."""
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
source_urls = ['https://downloads.sourceforge.net/project/togl/Togl/2.0/']
sources = ['%(name)s%(version)s-src.tar.gz']
patches = [
'Togl-2.0_configure.patch',
'Togl-2.0_decl.patch',
]
checksums = [
'b7d4a90bbad3aca618d505ee99e7fd8fb04c829f63231dda2360f557ba3f7610', # Togl2.0-src.tar.gz
'da97f36b60cd107444cd92453809135b14dc1e8775146b3ba0731da8002e6f9f', # Togl-2.0_configure.patch
'05db6b3ca5139f60616d074903883a3070fcfb1eb8c965b0938779b4f9a6ec6a', # Togl-2.0_decl.patch
]
builddependencies = [('binutils', '2.35')]
dependencies = [
('Mesa', '20.2.1'),
('Tk', '8.6.11'),
('Tcl', '8.6.11'),
]
preconfigopts = 'export CFLAGS="$CFLAGS -DTOGL_USE_FONTS=0" && '
configopts = "--prefix=%(installdir)s --exec-prefix=%(installdir)s "
configopts += "--with-tcl=$EBROOTTCL/lib --with-tk=$EBROOTTK/lib"
sanity_check_paths = {
'files': [],
'dirs': ['include', 'lib'],
}
modextrapaths = {
'LD_LIBRARY_PATH': 'lib/Togl2.0',
'LIBRARY_PATH': 'lib/Togl2.0',
}
moduleclass = 'vis'

View File

@ -0,0 +1,91 @@
* remove check for tclInt.h and tkInt.h in source folder, not necessary
author: Miguel Dias Costa (National University of Singapore)
--- configure.orig 2020-05-21 15:18:49.193616492 +0800
+++ configure 2020-05-21 15:31:31.222311056 +0800
@@ -7190,7 +7190,7 @@
{ echo "$as_me:$LINENO: checking for Tcl private include files" >&5
echo $ECHO_N "checking for Tcl private include files... $ECHO_C" >&6; }
- TCL_SRC_DIR_NATIVE=`${CYGPATH} ${TCL_SRC_DIR}`
+ TCL_SRC_DIR_NATIVE=`${CYGPATH}`
TCL_TOP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}\"
TCL_GENERIC_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/generic\"
TCL_UNIX_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/unix\"
@@ -7217,12 +7217,12 @@
TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"; fi
;;
esac
- else
- if test ! -f "${TCL_SRC_DIR}/generic/tclInt.h" ; then
- { { echo "$as_me:$LINENO: error: Cannot find private header tclInt.h in ${TCL_SRC_DIR}" >&5
-echo "$as_me: error: Cannot find private header tclInt.h in ${TCL_SRC_DIR}" >&2;}
- { (exit 1); exit 1; }; }
- fi
+# else
+# if test ! -f "${TCL_SRC_DIR}/generic/tclInt.h" ; then
+# { { echo "$as_me:$LINENO: error: Cannot find private header tclInt.h in ${TCL_SRC_DIR}" >&5
+#echo "$as_me: error: Cannot find private header tclInt.h in ${TCL_SRC_DIR}" >&2;}
+# { (exit 1); exit 1; }; }
+# fi
fi
@@ -7235,8 +7235,8 @@
- { echo "$as_me:$LINENO: result: Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&5
-echo "${ECHO_T}Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&6; }
+# { echo "$as_me:$LINENO: result: Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&5
+#echo "${ECHO_T}Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}" >&6; }
#TEA_PUBLIC_TK_HEADERS
@@ -7244,7 +7244,7 @@
{ echo "$as_me:$LINENO: checking for Tk private include files" >&5
echo $ECHO_N "checking for Tk private include files... $ECHO_C" >&6; }
- TK_SRC_DIR_NATIVE=`${CYGPATH} ${TK_SRC_DIR}`
+ TK_SRC_DIR_NATIVE=`${CYGPATH}`
TK_TOP_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}\"
TK_UNIX_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/unix\"
TK_WIN_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/win\"
@@ -7278,12 +7278,12 @@
TK_INCLUDES="-I\"${TK_BIN_DIR}/Headers\" -I\"${TK_BIN_DIR}/PrivateHeaders\" ${TK_INCLUDES}"; fi
;;
esac
- else
- if test ! -f "${TK_SRC_DIR}/generic/tkInt.h" ; then
- { { echo "$as_me:$LINENO: error: Cannot find private header tkInt.h in ${TK_SRC_DIR}" >&5
-echo "$as_me: error: Cannot find private header tkInt.h in ${TK_SRC_DIR}" >&2;}
- { (exit 1); exit 1; }; }
- fi
+# else
+# if test ! -f "${TK_SRC_DIR}/generic/tkInt.h" ; then
+# { { echo "$as_me:$LINENO: error: Cannot find private header tkInt.h in ${TK_SRC_DIR}" >&5
+#echo "$as_me: error: Cannot find private header tkInt.h in ${TK_SRC_DIR}" >&2;}
+# { (exit 1); exit 1; }; }
+# fi
fi
@@ -7294,8 +7294,8 @@
- { echo "$as_me:$LINENO: result: Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}" >&5
-echo "${ECHO_T}Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}" >&6; }
+# { echo "$as_me:$LINENO: result: Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}" >&5
+#echo "${ECHO_T}Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}" >&6; }
if test "${TEA_WINDOWINGSYSTEM}" = "x11" ; then
@@ -8929,7 +8929,7 @@
fi
- SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix ${SHLIB_LD} ${SHLIB_LD_FLAGS}"
+ SHLIB_LD="${SHLIB_LD} ${SHLIB_LD_FLAGS}"
DL_LIBS="-ldl"
CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}

View File

@ -0,0 +1,13 @@
* fix function declaration to match previous definition
author: Miguel Dias Costa (National University of Singapore)
--- toglDecls.h.orig 2020-01-17 14:57:44.000178028 +0800
+++ toglDecls.h 2020-01-17 14:58:07.046072088 +0800
@@ -117,7 +117,7 @@
EXTERN Bool Togl_UpdatePending _ANSI_ARGS_((const Togl * togl));
/* 38 */
EXTERN int Togl_WriteObj _ANSI_ARGS_((const Togl * togl,
- const Tcl_Obj * toglfont, Tcl_Obj * obj));
+ const Tcl_Obj * toglfont, const Tcl_Obj * obj));
/* 39 */
EXTERN int Togl_WriteChars _ANSI_ARGS_((const Togl * togl,
const Tcl_Obj * toglfont, const char * str,

View File

@ -0,0 +1,51 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'UCX'
version = '1.10.1'
versionsuffix= '-CUDA-11.3.0'
homepage = 'http://www.openucx.org/'
description = """Unified Communication X
An open-source production grade communication framework for data centric
and high-performance applications
"""
toolchain = {'name': 'NVHPC', 'version': '21.2'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.gz']
#patches = ['%(name)s-%(version)s.patch']
builddependencies = [
('binutils', '2.34'),
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
osdependencies = [OS_PKG_IBVERBS_DEV]
dependencies = [
('numactl', '2.0.13'),
('CUDAcore', '11.3.0', '', True),
('GDRCopy', '2.1', '-CUDA-11.3.0'),
]
configure_cmd = "contrib/configure-release"
configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs --with-gdrcopy=$EBROOTGDRCOPY '
configopts += '--without-java --disable-doxygen-doc --with-cuda=$EBROOTNCUDACORE '
buildopts = 'V=1'
sanity_check_paths = {
'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'],
'dirs': ['include', 'lib', 'share']
}
sanity_check_commands = ["ucx_info -d"]
moduleclass = 'lib'

View File

@ -0,0 +1,48 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'UCX'
version = '1.9.0'
homepage = 'http://www.openucx.org/'
description = """Unified Communication X
An open-source production grade communication framework for data centric
and high-performance applications
"""
toolchain = {'name': 'GCCcore', 'version': '8.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.gz']
checksums = ['a7a2c8841dc0d5444088a4373dc9b9cc68dbffcd917c1eba92ca8ed8e5e635fb']
builddependencies = [
('binutils', '2.31.1'),
('Autotools', '20180311', '', True),
('pkg-config', '0.29.2', '', True),
]
osdependencies = [OS_PKG_IBVERBS_DEV]
dependencies = [
('numactl', '2.0.12'),
]
configure_cmd = "contrib/configure-release"
configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs '
configopts += '--without-java --disable-doxygen-doc '
buildopts = 'V=1'
sanity_check_paths = {
'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'],
'dirs': ['include', 'lib', 'share']
}
sanity_check_commands = ["ucx_info -d"]
moduleclass = 'lib'

View File

@ -0,0 +1,51 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'UCX'
version = '1.9.0'
versionsuffix= '-CUDA-11.2.2'
homepage = 'http://www.openucx.org/'
description = """Unified Communication X
An open-source production grade communication framework for data centric
and high-performance applications
"""
toolchain = {'name': 'NVHPC', 'version': '21.2'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.gz']
#patches = ['%(name)s-%(version)s.patch']
builddependencies = [
('binutils', '2.34'),
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
osdependencies = [OS_PKG_IBVERBS_DEV]
dependencies = [
('numactl', '2.0.13'),
('CUDAcore', '11.2.2', '', True),
('GDRCopy', '2.1', versionsuffix),
]
configure_cmd = "contrib/configure-release"
configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs --with-gdrcopy=$EBROOTGDRCOPY '
configopts += '--without-java --disable-doxygen-doc --with-cuda=$EBROOTCUDACORE '
buildopts = 'V=1'
sanity_check_paths = {
'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'],
'dirs': ['include', 'lib', 'share']
}
sanity_check_commands = ["ucx_info -d"]
moduleclass = 'lib'

View File

@ -0,0 +1,51 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'UCX'
version = '1.9.0'
versionsuffix= '-CUDA-11.3.0'
homepage = 'http://www.openucx.org/'
description = """Unified Communication X
An open-source production grade communication framework for data centric
and high-performance applications
"""
toolchain = {'name': 'NVHPC', 'version': '21.2'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.gz']
#patches = ['%(name)s-%(version)s.patch']
builddependencies = [
('binutils', '2.34'),
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
osdependencies = [OS_PKG_IBVERBS_DEV]
dependencies = [
('numactl', '2.0.13'),
('CUDAcore', '11.3.0', '', True),
('GDRCopy', '2.1', '-CUDA-11.3.0'),
]
configure_cmd = "contrib/configure-release"
configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs --with-gdrcopy=$EBROOTGDRCOPY '
configopts += '--without-java --disable-doxygen-doc --with-cuda=$EBROOTCUDACORE '
buildopts = 'V=1'
sanity_check_paths = {
'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'],
'dirs': ['include', 'lib', 'share']
}
sanity_check_commands = ["ucx_info -d"]
moduleclass = 'lib'

View File

@ -0,0 +1,70 @@
# IT4Innovations 2020
# LK
easyblock = 'MakeCp'
name = 'VASP'
version = '5.4.4'
versionsuffix = '-mkl=sequential-BEEF'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2020a'}
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']
dependencies = [
('zlib', '1.2.11', '', True),
('BEEF', '0.1.1'),
]
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 ||" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O2 -ip -xHost|" 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 && '
prebuildopts += 'sed -i "s|FFLAGS = -assume byterecl -w|FFLAGS = -FR -assume byterecl|" makefile.include && '
prebuildopts += 'sed -i "s|BLAS =|BLAS = -mkl=sequential|" makefile.include && '
## libbeef
prebuildopts += 'sed -i "s|LLIBS =|LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) -L$EBROOTBEEF -lbeef|" 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': []
}
modluafooter = 'add_property("state","license")'
moduleclass = 'phys'

View File

@ -30,6 +30,11 @@ dependencies = [
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts += 'sed -i "s|-xHOST|-march=znver2|" makefile.include && '
# path to libfftw3xf_intel.a is hardcoded in makefile.include
prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && '
@ -38,7 +43,7 @@ prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" mak
prebuildopts += 'sed -i "s|-mkl=sequential ||" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O2 -ip -xHost|" makefile.include && '
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -ip -march=znver2|" 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 && '
@ -54,7 +59,7 @@ prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'all BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
buildopts = 'all' # BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
parallel = 1

View File

@ -0,0 +1,67 @@
# IT4Innovations 2021
# LK
easyblock = 'MakeCp'
name = 'VASP'
version = '6.2.0'
versionsuffix = '-mkl=sequential-march=znver2'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2020b'}
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.tgz']
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts += 'sed -i "s|-xHOST|-march=znver2|" 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 ||" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -ip -march=znver2|" 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 && '
prebuildopts += 'sed -i "s|FFLAGS = -assume byterecl -w|FFLAGS = -FR -assume byterecl|" makefile.include && '
prebuildopts += 'sed -i "s|BLAS =|BLAS = -mkl=sequential|" makefile.include && '
# VASP uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'std gam ncl ' #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': []
}
modluafooter = 'add_property("state","license")'
moduleclass = 'phys'

View File

@ -0,0 +1,52 @@
# IT4Innovations 2021
# LK
easyblock = 'MakeCp'
name = 'VASP'
version = '6.2.0'
versionsuffix = '-mkl=sequential'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'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.tgz']
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# Makefile uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
_targets = ['std', 'gam', 'ncl']
buildopts = '%s ' % ' '.join(_targets)
buildopts += 'FCL="$MPIF90" DEBUG="$FFLAGS" OFLAG="$FFLAGS" OFLAG_1="${FFLAGS/O2/O1}" OFLAG_2="$FFLAGS" '
buildopts += 'OFLAG_3="${FFLAGS/O2/O3}" CFLAGS_LIB="$CFLAGS" FFLAGS_LIB="$FFLAGS" BLAS="$LIBBLAS" '
buildopts += 'LAPACK="$LIBLAPACK" BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK"'
# https://www.vasp.at/wiki/index.php/Validation_tests
runtest = 'test'
parallel = 1
files_to_copy = [(['bin/vasp_' + x for x in _targets], 'bin')]
sanity_check_paths = {
'files': ['bin/vasp_' + x for x in _targets],
'dirs': []
}
modluafooter = 'add_property("state","license")'
moduleclass = 'phys'

View File

@ -0,0 +1,67 @@
# IT4Innovations 2021
# LK
easyblock = 'MakeCp'
name = 'VASP'
version = '6.2.1'
versionsuffix = '-mkl=sequential-march=znver2'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2020b'}
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.tgz']
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts += 'sed -i "s|-xHOST|-march=znver2|" 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 ||" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -ip -march=znver2|" 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 && '
prebuildopts += 'sed -i "s|FFLAGS = -assume byterecl -w|FFLAGS = -FR -assume byterecl|" makefile.include && '
prebuildopts += 'sed -i "s|BLAS =|BLAS = -mkl=sequential|" makefile.include && '
# VASP uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'std gam ncl ' #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': []
}
modluafooter = 'add_property("state","license")'
moduleclass = 'phys'

View File

@ -0,0 +1,30 @@
# IT4Innovations 2021
# JK
name = 'XCrySDen'
version = '1.6.2'
homepage = "http://www.xcrysden.org/"
description = """XCrySDen is a crystalline and molecular structure visualisation program aiming
at display of isosurfaces and contours, which can be superimposed on crystalline structures and
interactively rotated and manipulated."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'vectorize': False}
source_urls = ["http://www.xcrysden.org/download/"]
sources = [SOURCELOWER_TAR_GZ]
local_tcltk_ver = '8.6.11'
dependencies = [
('Tcl', local_tcltk_ver),
('Tk', local_tcltk_ver),
('Togl', '2.0'),
('X11', '20201008'),
('libGLU', '9.0.1'),
('bwidget', '1.9.14'),
]
parallel = 1
moduleclass = 'vis'

View File

@ -41,7 +41,7 @@ buildopts = 'all'
parallel = 1
files_to_copy = [
(['bin/*'], 'bin'),
(['sbin/*'], 'bin'),
(['lib/*.a'], 'lib'),
(['include/*'], 'include'),
]