diff --git a/c/CMake/CMake-3.18.4.eb b/c/CMake/CMake-3.18.4.eb new file mode 100644 index 00000000..6421d0d1 --- /dev/null +++ b/c/CMake/CMake-3.18.4.eb @@ -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' diff --git a/c/CMake/CMake-3.20.1.eb b/c/CMake/CMake-3.20.1.eb new file mode 100644 index 00000000..766d6438 --- /dev/null +++ b/c/CMake/CMake-3.20.1.eb @@ -0,0 +1,29 @@ +# IT4Innovations +# LK 2021 + +name = 'CMake' +version = '3.20.1' + +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 = ['3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0'] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('cURL', '7.76.0'), + ('libarchive', '3.5.1'), + ('OpenSSL', '1.1', '', True), +] + +moduleclass = 'devel' diff --git a/c/cURL/cURL-7.72.0.eb b/c/cURL/cURL-7.72.0.eb new file mode 100644 index 00000000..40e752c8 --- /dev/null +++ b/c/cURL/cURL-7.72.0.eb @@ -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' diff --git a/c/cURL/cURL-7.76.0.eb b/c/cURL/cURL-7.76.0.eb new file mode 100644 index 00000000..eb095fca --- /dev/null +++ b/c/cURL/cURL-7.76.0.eb @@ -0,0 +1,42 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.76.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 = ['3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3'] + +dependencies = [ + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', True), +] + +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' diff --git a/e/expat/expat-2.2.9.eb b/e/expat/expat-2.2.9.eb new file mode 100644 index 00000000..2d3aad87 --- /dev/null +++ b/e/expat/expat-2.2.9.eb @@ -0,0 +1,34 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.2.9' + +homepage = 'https://libexpat.github.io' + +description = """ + Expat is an XML parser library written in C. It is a stream-oriented parser + in which an application registers handlers for things the parser might find + in the XML document (like start tags) +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://fossies.org/linux/www/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['f1063084dc4302a427dabcca499c8312b3a32a29b7d2506653ecc8f950a9a237'] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/f/fontconfig/fontconfig-2.13.93.eb b/f/fontconfig/fontconfig-2.13.93.eb new file mode 100644 index 00000000..ce7d2e8e --- /dev/null +++ b/f/fontconfig/fontconfig-2.13.93.eb @@ -0,0 +1,41 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.13.93' + +homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/' + +description = """ + Fontconfig is a library designed to provide system-wide font configuration, + customization and application access. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['0f302a18ee52dde0793fe38b266bf269dfe6e0c0ae140e30d72c6cca5dc08db5'] + +builddependencies = [ + ('gperf', '3.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('expat', '2.2.9'), + ('freetype', '2.10.4'), + ('util-linux', '2.36'), +] + +configopts = '--disable-docs ' + +sanity_check_paths = { + 'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/f/freetype/freetype-2.10.4.eb b/f/freetype/freetype-2.10.4.eb new file mode 100644 index 00000000..b222bfe9 --- /dev/null +++ b/f/freetype/freetype-2.10.4.eb @@ -0,0 +1,41 @@ +# IT4Innovations +# LK 2021 + +name = 'freetype' +version = '2.10.4' + +homepage = 'https://www.freetype.org' + +description = """ + FreeType 2 is a software font engine that is designed to be small, efficient, + highly customizable, and portable while capable of producing high-quality + output (glyph images). It can be used in graphics libraries, display servers, + font conversion tools, text image generation tools, and many other products + as well. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] +sources = [SOURCE_TAR_GZ] +checksums = ['5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +configopts = '--enable-freetype-config --with-harfbuzz=no' + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', + 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +moduleclass = 'vis' diff --git a/g/gnuplot/gnuplot-5.2.3.eb b/g/gnuplot/gnuplot-5.2.3.eb index 27013a12..053f5cb7 100644 --- a/g/gnuplot/gnuplot-5.2.3.eb +++ b/g/gnuplot/gnuplot-5.2.3.eb @@ -12,10 +12,10 @@ sources = [SOURCE_TAR_GZ] source_urls = [('http://sourceforge.net/projects/gnuplot/files', 'download')] dependencies = [ - ('cairo', '1.14.12'), +# ('cairo', '1.14.12'), ('libjpeg-turbo', '1.5.3'), ('libpng', '1.6.34'), - ('libgd', '2.2.5'), +# ('libgd', '2.2.5'), # ('Pango', '1.42.1'), # ('libcerf', '1.5'), # ('Qt', '4.8.7'), diff --git a/g/gnuplot/gnuplot-5.2.8.eb b/g/gnuplot/gnuplot-5.2.8.eb index 03054634..12f32757 100644 --- a/g/gnuplot/gnuplot-5.2.8.eb +++ b/g/gnuplot/gnuplot-5.2.8.eb @@ -13,16 +13,16 @@ toolchain = SYSTEM sources = [SOURCE_TAR_GZ] source_urls = [('http://sourceforge.net/projects/gnuplot/files', 'download')] -#dependencies = [ +dependencies = [ # ('cairo', '1.14.12'), -# ('libjpeg-turbo', '1.5.3'), -# ('libpng', '1.6.34'), -# ('libgd', '2.2.5'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('libgd', '2.3.1'), # ('Pango', '1.42.1'), # ('libcerf', '1.5'), # ('Qt', '4.8.7'), # ('LibTIFF', '4.0.7'), -#] +] #configopts = '--with-qt=qt4 ' diff --git a/h/HDF5/HDF5-1.10.6-foss-2020b-parallel.eb b/h/HDF5/HDF5-1.10.6-foss-2020b-parallel.eb new file mode 100644 index 00000000..5597daa5 --- /dev/null +++ b/h/HDF5/HDF5-1.10.6-foss-2020b-parallel.eb @@ -0,0 +1,31 @@ +# IT4Innovations 2021 +# LK + +name = 'HDF5' +version = '1.10.6' +versionsuffix = '-parallel' + +homepage = 'http://www.hdfgroup.org/HDF5/' +description = """HDF5 is a unique technology suite that makes possible the management of + extremely large and local_complex data collections.""" + +toolchain = {'name': 'foss', '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] + +# 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 = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/h/HDF5/HDF5-1.10.6-iimpi-2020a.eb b/h/HDF5/HDF5-1.10.6-iimpi-2020a.eb new file mode 100644 index 00000000..02c79f05 --- /dev/null +++ b/h/HDF5/HDF5-1.10.6-iimpi-2020a.eb @@ -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' diff --git a/h/HDF5/HDF5-1.10.6-intel-2020a-parallel.eb b/h/HDF5/HDF5-1.10.6-intel-2020a-parallel.eb index c08aa328..665ce86e 100644 --- a/h/HDF5/HDF5-1.10.6-intel-2020a-parallel.eb +++ b/h/HDF5/HDF5-1.10.6-intel-2020a-parallel.eb @@ -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 = [ diff --git a/h/HDF5/HDF5-1.10.6-intel-2020a.eb b/h/HDF5/HDF5-1.10.6-intel-2020a.eb index 45bc33f0..3f1e3487 100644 --- a/h/HDF5/HDF5-1.10.6-intel-2020a.eb +++ b/h/HDF5/HDF5-1.10.6-intel-2020a.eb @@ -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' diff --git a/h/HDF5/HDF5-1.10.6-intel-2020b-parallel.eb b/h/HDF5/HDF5-1.10.6-intel-2020b-parallel.eb new file mode 100644 index 00000000..aaf38cf5 --- /dev/null +++ b/h/HDF5/HDF5-1.10.6-intel-2020b-parallel.eb @@ -0,0 +1,31 @@ +# IT4Innovations 2021 +# LK + +name = 'HDF5' +version = '1.10.6' +versionsuffix = '-parallel' + +homepage = 'http://www.hdfgroup.org/HDF5/' +description = """HDF5 is a unique technology suite that makes possible the management of + extremely large and local_complex data collections.""" + +toolchain = {'name': 'intel', '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] + +# 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 = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/i/iimpi/iimpi-2020a.eb b/i/iimpi/iimpi-2020a.eb new file mode 100644 index 00000000..8e55d266 --- /dev/null +++ b/i/iimpi/iimpi-2020a.eb @@ -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' diff --git a/i/impi/impi-2018.4.274-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb b/i/impi/impi-2018.4.274-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb new file mode 100644 index 00000000..cfb90778 --- /dev/null +++ b/i/impi/impi-2018.4.274-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb @@ -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' diff --git a/i/impi/impi-2019.9.304-iccifort-2020.1.217.eb b/i/impi/impi-2019.9.304-iccifort-2020.1.217.eb new file mode 100644 index 00000000..ff71f030 --- /dev/null +++ b/i/impi/impi-2019.9.304-iccifort-2020.1.217.eb @@ -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' diff --git a/i/intel/intel-2020a.eb b/i/intel/intel-2020a.eb new file mode 100644 index 00000000..d42bec90 --- /dev/null +++ b/i/intel/intel-2020a.eb @@ -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' diff --git a/i/iomkl/iomkl-2020b.eb b/i/iomkl/iomkl-2020b.eb new file mode 100644 index 00000000..994e712f --- /dev/null +++ b/i/iomkl/iomkl-2020b.eb @@ -0,0 +1,20 @@ +easyblock = "Toolchain" + +name = 'iomkl' +version = '2020b' + +homepage = 'https://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = """Intel Cluster Toolchain Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MKL & + OpenMPI.""" + +toolchain = SYSTEM + +local_compver = '2020.4.304' + +dependencies = [ + ('iccifort', local_compver), + ('OpenMPI', '4.0.5', '', ('iccifort', local_compver)), + ('imkl', local_compver, '', ('iompi', version)), +] + +moduleclass = 'toolchain' diff --git a/l/libarchive/libarchive-3.4.3.eb b/l/libarchive/libarchive-3.4.3.eb new file mode 100644 index 00000000..2e9f032d --- /dev/null +++ b/l/libarchive/libarchive-3.4.3.eb @@ -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' diff --git a/l/libarchive/libarchive-3.5.1.eb b/l/libarchive/libarchive-3.5.1.eb new file mode 100644 index 00000000..95fcdb8c --- /dev/null +++ b/l/libarchive/libarchive-3.5.1.eb @@ -0,0 +1,31 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.5.1' + +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 = ['9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a'] + +builddependencies = [ + ('XZ', '5.2.5'), + ('OpenSSL', '1.1', '', True), +] + +sanity_check_paths = { + 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], + 'dirs': ['bin', 'share/man/man3'], +} + +moduleclass = 'tools' diff --git a/l/libgd/libgd-2.3.1.eb b/l/libgd/libgd-2.3.1.eb new file mode 100644 index 00000000..57e167dd --- /dev/null +++ b/l/libgd/libgd-2.3.1.eb @@ -0,0 +1,34 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.3.1' + +homepage = 'https://libgd.github.io/' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e904a35fd3379ddb2d7c64f929b7cbdf0422863646dae252be0029b9e47c9fe3'] + +dependencies = [ + ('fontconfig', '2.13.93'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO " +configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ["lib/libgd.a", "lib/libgd.%s" % SHLIB_EXT], + 'dirs': ["bin", "include"], +} + +moduleclass = 'lib' diff --git a/l/libjpeg-turbo/libjpeg-turbo-2.0.6.eb b/l/libjpeg-turbo/libjpeg-turbo-2.0.6.eb new file mode 100644 index 00000000..40242d1f --- /dev/null +++ b/l/libjpeg-turbo/libjpeg-turbo-2.0.6.eb @@ -0,0 +1,44 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'CMakeMake' + +name = 'libjpeg-turbo' +version = '2.0.6' + +homepage = 'https://sourceforge.net/projects/libjpeg-turbo/' + +description = """ + libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to + accelerate baseline JPEG compression and decompression. libjpeg is a library + that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('NASM', '2.15.05'), +] + +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', + 'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a', + 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', + 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/l/libsndfile/libsndfile-1.0.28.eb b/l/libsndfile/libsndfile-1.0.28.eb index eda0e431..1b6a9845 100644 --- a/l/libsndfile/libsndfile-1.0.28.eb +++ b/l/libsndfile/libsndfile-1.0.28.eb @@ -1,3 +1,6 @@ +# IT4Innovations +# LK 2021 + easyblock = 'ConfigureMake' name = 'libsndfile' @@ -13,8 +16,6 @@ source_urls = ['http://www.mega-nerd.com/libsndfile/files/'] sources = [SOURCE_TAR_GZ] checksums = ['1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5a9dfa9'] -builddependencies = [('binutils', '2.31.1')] - sanity_check_paths = { 'files': [ 'include/sndfile.h', diff --git a/m/MATLAB/README.md b/m/MATLAB/README.md new file mode 100644 index 00000000..c9eda018 --- /dev/null +++ b/m/MATLAB/README.md @@ -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 = '' + license_server_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 + ``` diff --git a/m/mkl/mkl-2020.0.166.eb b/m/mkl/mkl-2020.0.166.eb index 78b321c7..818a6266 100644 --- a/m/mkl/mkl-2020.0.166.eb +++ b/m/mkl/mkl-2020.0.166.eb @@ -1,7 +1,8 @@ -# IT4Innovations 2020 +# IT4Innovations 2021 +# LK name = 'mkl' -version = '2020.0.166' +version = '2020.4.304' homepage = 'http://software.intel.com/en-us/intel-mkl/' description = """Intel Math Kernel Library is a library of highly optimized, @@ -11,7 +12,9 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = SYSTEM +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] dontcreateinstalldir = 'True' diff --git a/m/mkl/mkl-2020.4.304.eb b/m/mkl/mkl-2020.4.304.eb new file mode 100644 index 00000000..78b321c7 --- /dev/null +++ b/m/mkl/mkl-2020.4.304.eb @@ -0,0 +1,33 @@ +# IT4Innovations 2020 + +name = 'mkl' +version = '2020.0.166' + +homepage = 'http://software.intel.com/en-us/intel-mkl/' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" + +toolchain = SYSTEM + +sources = ['l_mkl_%(version)s.tgz'] + +dontcreateinstalldir = 'True' + +interfaces = False + +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + +moduleclass = 'numlib' diff --git a/n/NASM/NASM-2.15.05.eb b/n/NASM/NASM-2.15.05.eb new file mode 100644 index 00000000..902cbcd8 --- /dev/null +++ b/n/NASM/NASM-2.15.05.eb @@ -0,0 +1,24 @@ +# IT4Innovations 2021 +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.15.05' + +homepage = 'https://www.nasm.us/' + +description = """NASM: General-purpose x86 assembler""" + +toolchain = SYSTEM + +source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0'] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/o/Octave/Octave-6.3.0-intel-2020b-without-X11.eb b/o/Octave/Octave-6.3.0-intel-2020b-without-X11.eb new file mode 100644 index 00000000..9a2e8169 --- /dev/null +++ b/o/Octave/Octave-6.3.0-intel-2020b-without-X11.eb @@ -0,0 +1,39 @@ +# IT4Innovations 2020 + +easyblock = 'ConfigureMake' + +name = 'Octave' +version = '6.3.0' +versionsuffix = '-without-X11' + +homepage = 'http://www.gnu.org/software/octave/' +description = """GNU Octave is a high-level interpreted language, primarily intended for numerical local_computations.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('PCRE', '8.40', '', True), + ('ncurses', '6.2', '', True), + ('libreadline', '7.0', '', True), + ('cURL', '7.65.3', '', True), + ('zlib', '1.2.11', '', True), + ('HDF5', '1.10.6', '-parallel'), + ('FFTW', '3.3.8', '', True), + ('gnuplot', '5.2.8', '', True), +] + +configopts = '--disable-docs --without-opengl --without-qhull ' +configopts += '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" ' +configopts += '--enable-fortran-calling-convention=gfortran' + +sanity_check_paths = { + 'files': ['bin/octave'], + 'dirs': [] +} + +sanity_check_commands = [('octave', '--eval "1+2"')] + +moduleclass = 'math' diff --git a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb new file mode 100644 index 00000000..1c66b075 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb @@ -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' diff --git a/p/ParMETIS/ParMETIS-4.0.3-foss-2020b.eb b/p/ParMETIS/ParMETIS-4.0.3-foss-2020b.eb new file mode 100644 index 00000000..9b7c0d65 --- /dev/null +++ b/p/ParMETIS/ParMETIS-4.0.3-foss-2020b.eb @@ -0,0 +1,24 @@ +# IT4Innovations 2019 + +name = 'ParMETIS' +version = '4.0.3' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview' +description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, + meshes, and for local_computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes + routines that are especially suited for parallel AMR local_computations and large scale numerical simulations. The algorithms implemented in + ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning + schemes.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [('CMake', '3.18.4', '', True)] + +moduleclass = 'math' diff --git a/p/ParMETIS/ParMETIS-4.0.3-intel-2020b.eb b/p/ParMETIS/ParMETIS-4.0.3-intel-2020b.eb new file mode 100644 index 00000000..be8482d0 --- /dev/null +++ b/p/ParMETIS/ParMETIS-4.0.3-intel-2020b.eb @@ -0,0 +1,25 @@ +# IT4Innovations 2021 +# LK + +name = 'ParMETIS' +version = '4.0.3' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview' +description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, + meshes, and for local_computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes + routines that are especially suited for parallel AMR local_computations and large scale numerical simulations. The algorithms implemented in + ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning + schemes.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [('CMake', '3.16.2', '', True)] + +moduleclass = 'math' diff --git a/u/UCX/UCX-1.9.0-GCCcore-8.2.0.eb b/u/UCX/UCX-1.9.0-GCCcore-8.2.0.eb new file mode 100644 index 00000000..be349ad3 --- /dev/null +++ b/u/UCX/UCX-1.9.0-GCCcore-8.2.0.eb @@ -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' diff --git a/u/util-linux/util-linux-2.36.eb b/u/util-linux/util-linux-2.36.eb new file mode 100644 index 00000000..bbf0b234 --- /dev/null +++ b/u/util-linux/util-linux-2.36.eb @@ -0,0 +1,42 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.36' + +homepage = 'https://www.kernel.org/pub/linux/utils/util-linux' + +description = "Set of Linux utilities" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['82942cd877a989f6d12d4ce2c757fb67ec53d8c5cd9af0537141ec5f84a2eea3'] + +# disable account related utilities (they need OS dependent pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF-karolina.eb b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF-karolina.eb new file mode 100644 index 00000000..3782f463 --- /dev/null +++ b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF-karolina.eb @@ -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' diff --git a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF.eb b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF.eb index 3782f463..2a63da4e 100644 --- a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF.eb +++ b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF.eb @@ -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 diff --git a/v/VASP/VASP-6.2.0-intel-2020b-mkl=sequential-karolina.eb b/v/VASP/VASP-6.2.0-intel-2020b-mkl=sequential-karolina.eb new file mode 100644 index 00000000..f2f4e8eb --- /dev/null +++ b/v/VASP/VASP-6.2.0-intel-2020b-mkl=sequential-karolina.eb @@ -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' diff --git a/v/VASP/VASP-6.2.0-intel-2020b.eb b/v/VASP/VASP-6.2.0-intel-2020b.eb new file mode 100644 index 00000000..3bde1b7a --- /dev/null +++ b/v/VASP/VASP-6.2.0-intel-2020b.eb @@ -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' diff --git a/v/VASP/VASP-6.2.1-intel-2020b-mkl=sequential-karolina.eb b/v/VASP/VASP-6.2.1-intel-2020b-mkl=sequential-karolina.eb new file mode 100644 index 00000000..21f92140 --- /dev/null +++ b/v/VASP/VASP-6.2.1-intel-2020b-mkl=sequential-karolina.eb @@ -0,0 +1,67 @@ +# IT4Innovations 2021 +# LK + +easyblock = 'MakeCp' + +name = 'VASP' +version = '6.2.1' +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 = {'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=core-avx2|" 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' diff --git a/v/VirtualGL/VirtualGL-2.6.5-GCC-10.3.0.eb b/v/VirtualGL/VirtualGL-2.6.5-GCC-10.3.0.eb new file mode 100644 index 00000000..1231ead7 --- /dev/null +++ b/v/VirtualGL/VirtualGL-2.6.5-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'CMakeMake' + +name = "VirtualGL" +version = '2.6.5' + +homepage = 'http://www.virtualgl.org' +description = """VirtualGL is an open source toolkit that gives any Unix or Linux remote display software the +ability to run OpenGL applications with full 3D hardware acceleration.""" + +# empty version to ensure that dependencies are loaded +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/VirtualGL/virtualgl/archive'] + +dependencies = [ + ('Mesa', '21.1.1'), + ('libjpeg-turbo', '2.0.6', '', True), + ('libGLU', '9.0.1'), +# ('CUDA', '10.2.89', '', True), +] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +#skipsteps = ['source', 'patch', 'prepare', 'configure', 'build', 'test'] + +configopts = "-DVGL_FAKEOPENCL=0" + +sanity_check_paths = { + 'files': ['bin/vglrun'], + 'dirs': [''] +} + +moduleclass = 'tools' diff --git a/x/XZ/XZ-5.2.5.eb b/x/XZ/XZ-5.2.5.eb new file mode 100644 index 00000000..17ec23d9 --- /dev/null +++ b/x/XZ/XZ-5.2.5.eb @@ -0,0 +1,40 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.2.5' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = SYSTEM + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['XZ-5.2.2_compat-libs.patch'] +checksums = [ + '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df', # xz-5.2.5.tar.bz2 + '578da3ea2ddb551972891a60fe31478b16a516d6ea8b6aa3af89e1d558adb703', # XZ-5.2.2_compat-libs.patch +] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.21', '', True), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/y/Yambo/Yambo-5.0.0-intel-2020a.eb b/y/Yambo/Yambo-5.0.0-intel-2020a.eb index b00b3c7b..54793ffa 100644 --- a/y/Yambo/Yambo-5.0.0-intel-2020a.eb +++ b/y/Yambo/Yambo-5.0.0-intel-2020a.eb @@ -41,7 +41,7 @@ buildopts = 'all' parallel = 1 files_to_copy = [ - (['bin/*'], 'bin'), + (['sbin/*'], 'bin'), (['lib/*.a'], 'lib'), (['include/*'], 'include'), ]