diff --git a/g/graphite2/graphite2-1.3.14-GCCcore-10.2.0.eb b/g/graphite2/graphite2-1.3.14-GCCcore-10.2.0.eb new file mode 100644 index 00000000..746ffc2b --- /dev/null +++ b/g/graphite2/graphite2-1.3.14-GCCcore-10.2.0.eb @@ -0,0 +1,30 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('binutils', '2.35'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/m/magic/magic-0.4.24-GCCcore-10.2.0-Python-3.8.6.eb b/m/magic/magic-0.4.24-GCCcore-10.2.0-Python-3.8.6.eb new file mode 100644 index 00000000..a9126920 --- /dev/null +++ b/m/magic/magic-0.4.24-GCCcore-10.2.0-Python-3.8.6.eb @@ -0,0 +1,30 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'PythonPackage' + +name = 'magic' +version = '0.4.24' +versionsuffix = '-Python-%(pyver)s' + +homepage = "http://github.com/ahupp/python-magic" +description = """python-magic is a Python interface to the libmagic file type identification library. libmagic identifies file types by checking their headers according to a predefined list of file types. This functionality is exposed to the command line by the Unix command file.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ["https://github.com/ahupp/python-magic/archive/refs/tags/"] +sources = ['%(version)s.tar.gz'] + +dependencies = [ + ('Python', '3.8.6'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +moduleclass = 'lib' diff --git a/n/NVHPC/NVHPC-21.9.eb b/n/NVHPC/NVHPC-21.9.eb index caad9a04..1913b031 100644 --- a/n/NVHPC/NVHPC-21.9.eb +++ b/n/NVHPC/NVHPC-21.9.eb @@ -15,13 +15,13 @@ source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] local_tarball_tmpl = 'nvhpc_2021_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' sources = [local_tarball_tmpl % '%(arch)s'] -local_gccver = '10.2.0' -dependencies = [ - ('GCCcore', local_gccver), - ('binutils', '2.35', '', ('GCCcore', local_gccver)), +#local_gccver = '10.2.0' +#dependencies = [ +# ('GCCcore', local_gccver), +# ('binutils', '2.35', '', ('GCCcore', local_gccver)), # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails - ('numactl', '2.0.13', '', ('GCCcore', local_gccver)) -] +# ('numactl', '2.0.13', '', ('GCCcore', local_gccver)) +#] # specify default CUDA version that should be used by NVHPC # should match one of the CUDA versions that are included with this NVHPC version diff --git a/o/OpenMPI/OpenMPI-4.0.7-GCC-10.2.0-UCX-1.11.2-CUDA-11.4.1.eb b/o/OpenMPI/OpenMPI-4.0.7-GCC-10.2.0-UCX-1.11.2-CUDA-11.4.1.eb new file mode 100644 index 00000000..0e4a528a --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.0.7-GCC-10.2.0-UCX-1.11.2-CUDA-11.4.1.eb @@ -0,0 +1,44 @@ +# IT4Innovations 2021 +# LK + +name = 'OpenMPI' +version = '4.0.7' +versionsuffix = '-UCX-1.11.2-CUDA-11.4.1' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'NVHPC', 'version': '21.9'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('GCC', '10.2.0', '', True), + ('UCX', '1.11.2', '-GCC-10.2.0-CUDA-11.4.1', True), + ('CUDAcore', '11.4.1', '', True), +] + +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' + +#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") +#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") +#setenv("OMPI_MCA_pml", "^ucx") +#setenv("OMPI_MCA_orte_base_help_aggregate", "0") +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'OMPI_MCA_pml': '^ucx', + } diff --git a/o/OpenMPI/OpenMPI-4.0.7-GCC-9.3.0-UCX-1.9.0-CUDA-11.4.1.eb b/o/OpenMPI/OpenMPI-4.0.7-GCC-9.3.0-UCX-1.9.0-CUDA-11.4.1.eb new file mode 100644 index 00000000..99f8c379 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.0.7-GCC-9.3.0-UCX-1.9.0-CUDA-11.4.1.eb @@ -0,0 +1,44 @@ +# IT4Innovations 2021 +# LK + +name = 'OpenMPI' +version = '4.0.7' +versionsuffix = '-UCX-1.9.0-CUDA-11.4.1' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'NVHPC', 'version': '21.9'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('GCC', '9.3.0', '', True), + ('UCX', '1.9.0', '-GCC-9.3.0-CUDA-11.4.1', True), + ('CUDAcore', '11.4.1', '', True), +] + +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' + +#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") +#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") +#setenv("OMPI_MCA_pml", "^ucx") +#setenv("OMPI_MCA_orte_base_help_aggregate", "0") +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'OMPI_MCA_pml': '^ucx', + } diff --git a/p/poppler/poppler-21.06.1-GCC-10.2.0.eb b/p/poppler/poppler-21.06.1-GCC-10.2.0.eb new file mode 100644 index 00000000..9b7cf20a --- /dev/null +++ b/p/poppler/poppler-21.06.1-GCC-10.2.0.eb @@ -0,0 +1,62 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'Bundle' + +name = 'poppler' +version = '21.06.1' + +homepage = 'https://poppler.freedesktop.org' +description = "Poppler is a PDF rendering library" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), + ('Python', '3.9.5', '-bare'), +] + +dependencies = [ + ('freetype', '2.10.4'), + ('fontconfig', '2.13.93'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('NSS', '3.65'), + ('LibTIFF', '4.2.0'), + ('Qt5', '5.15.2'), + ('Boost', '1.76.0'), + ('cairo', '1.16.0'), + ('OpenJPEG', '2.4.0'), + ('zlib', '1.2.11'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['86b09e5a02de40081a3916ef8711c5128eaf4b1fc59d5f87d0ec66f04f595db4'], + 'configopts': "-DENABLE_BOOST=ON", + }), + ('poppler-data', '0.4.10', { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt5.%s' % SHLIB_EXT], + 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["pdfinfo --help"] + +moduleclass = 'lib' diff --git a/s/s3cmd/s3cmd-2.1.0-GCCcore-10.2.0-Python-3.8.6.eb b/s/s3cmd/s3cmd-2.1.0-GCCcore-10.2.0-Python-3.8.6.eb new file mode 100644 index 00000000..cd6a2bf7 --- /dev/null +++ b/s/s3cmd/s3cmd-2.1.0-GCCcore-10.2.0-Python-3.8.6.eb @@ -0,0 +1,27 @@ +# IT4Innovations 2021 +# JKm LK +# build first with --stop postproc and then --module-only --rebuild in order to skip sanity checks + +easyblock = 'PythonPackage' + +name = 's3cmd' +version = '2.1.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = "https://s3tools.org/s3cmd" +description = """S3cmd is a free command line tool and client for uploading, retrieving and managing data in Amazon S3 and other cloud storage service providers that use the S3 protocol, such as Google Cloud Storage or DreamHost DreamObjects. It is best suited for power users who are familiar with command line programs. It is also ideal for batch scripts and automated backup to S3, triggered from cron, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ["https://github.com/s3tools/s3cmd/archive/refs/tags/"] +sources = ['v2.1.0.tar.gz'] + +dependencies = [ + ('Python', '3.8.6'), + ('magic', '0.4.24', '-Python-%(pyver)s'), +] + +download_dep_fail = True +use_pip = True + +moduleclass = 'tools' diff --git a/t/texlive/texlive-20210325-GCCcore-10.2.0.eb b/t/texlive/texlive-20210325-GCCcore-10.2.0.eb new file mode 100644 index 00000000..bb6908e5 --- /dev/null +++ b/t/texlive/texlive-20210325-GCCcore-10.2.0.eb @@ -0,0 +1,61 @@ +# IT4Innovations +# LK 2021 + +easyblock = 'Tarball' + +name = 'texlive' +version = '20210325' + +homepage = 'https://tug.org' +description = """TeX is a typesetting language. Instead of visually formatting your text, you enter your manuscript + text intertwined with TeX commands in a plain text file. You then run TeX to produce formatted output, such as a + PDF file. Thus, in contrast to standard word processors, your document is a separate file that does not pretend to + be a representation of the final typeset output, and so can be easily edited and manipulated.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://pi.kwarc.info/historic/systems/texlive/2021/'] +sources = [ + { + 'download_filename': 'install-tl-unx.tar.gz', + 'filename': 'install-tl-unx-%(version)s.tar.gz', + } +] +checksums = ['cba7ed246143e79864b991a9f88c2475'] + +dependencies = [ + ('X11', '20201008'), + ('libpng', '1.6.37'), + ('libGLU', '9.0.1'), + ('Perl', '5.32.0'), + ('HarfBuzz', '2.6.7'), +# ('poppler', '0.90.1'), + ('cairo', '1.16.0'), + ('fontconfig', '2.13.92'), + ('zlib', '1.2.11'), + ('graphite2', '1.3.14'), +] + +postinstallcmds = [ + 'echo "TEXDIR %(installdir)s/" > %(installdir)s/texlive.profile && ' + 'echo "TEXMFLOCAL %(installdir)s/texmf-local" >> %(installdir)s/texlive.profile && ' + 'echo "TEXMFSYSCONFIG %(installdir)s/texmf-config" >> %(installdir)s/texlive.profile && ' + 'echo "TEXMFSYSVAR %(installdir)s/texmf-var" >> %(installdir)s/texlive.profile && ' + '%(builddir)s/install-tl-%(version)s/install-tl -profile %(installdir)s/texlive.profile' +] + +modextrapaths = { + 'PATH': 'install/bin/x86_64-linux', + 'INFOPATH': 'install/texmf-dist/doc/info', + 'MANPATH': 'install/texmf-dist/doc/man', +} +modextravars = { + 'TEXMFHOME': '%(installdir)s/install/texmf-dist' +} + +sanity_check_paths = { + 'files': ['install/bin/x86_64-linux/tex', 'install/bin/x86_64-linux/latex'], + 'dirs': ['install/bin/x86_64-linux', 'install/texmf-dist'], +} + +moduleclass = 'devel' diff --git a/u/UCX/UCX-1.11.2-GCC-10.2.0-CUDA-11.4.1.eb b/u/UCX/UCX-1.11.2-GCC-10.2.0-CUDA-11.4.1.eb new file mode 100644 index 00000000..93fd71e8 --- /dev/null +++ b/u/UCX/UCX-1.11.2-GCC-10.2.0-CUDA-11.4.1.eb @@ -0,0 +1,49 @@ +# IT4Innovations 2021 +# LK + +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.11.2' +versionsuffix= '-CUDA-11.4.1' + +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': 'GCC', 'version': '10.2.0'} +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 = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('numactl', '2.0.13'), + ('CUDAcore', '11.4.1', '', True), +] + +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' diff --git a/u/UCX/UCX-1.9.0-GCC-9.3.0-CUDA-11.4.1.eb b/u/UCX/UCX-1.9.0-GCC-9.3.0-CUDA-11.4.1.eb new file mode 100644 index 00000000..4fb40a42 --- /dev/null +++ b/u/UCX/UCX-1.9.0-GCC-9.3.0-CUDA-11.4.1.eb @@ -0,0 +1,49 @@ +# IT4Innovations 2021 +# LK + +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.9.0' +versionsuffix= '-CUDA-11.4.1' + +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': 'GCC', 'version': '9.3.0'} +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-m4.patch'] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('numactl', '2.0.13'), + ('CUDAcore', '11.4.1', '', True), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs --with-gdrcopy=/usr/src/gdrdrv-2.3 ' +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' diff --git a/u/UCX/UCX-1.9.0-NVHPC-21.9-CUDA-11.4.1.eb b/u/UCX/UCX-1.9.0-NVHPC-21.9-CUDA-11.4.1.eb new file mode 100644 index 00000000..e9c0c18a --- /dev/null +++ b/u/UCX/UCX-1.9.0-NVHPC-21.9-CUDA-11.4.1.eb @@ -0,0 +1,49 @@ +# IT4Innovations 2021 +# LK + +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.9.0' +versionsuffix= '-CUDA-11.4.1' + +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.9'} +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-m4.patch'] + +builddependencies = [ + ('Autotools', '20200321', '', ('GCCcore', '9.3.0')), + ('pkg-config', '0.29.2', '', ('GCCcore', '9.3.0')), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('numactl', '2.0.13', '', ('GCCcore', '9.3.0')), + ('CUDAcore', '11.4.1', '', True), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs --with-gdrcopy=/usr/src/gdrdrv-2.3 ' +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' diff --git a/u/UCX/UCX-1.9.0-NVHPC-21.9-GCC-9.3.0-CUDA-11.4.1.eb b/u/UCX/UCX-1.9.0-NVHPC-21.9-GCC-9.3.0-CUDA-11.4.1.eb new file mode 100644 index 00000000..493ec9d9 --- /dev/null +++ b/u/UCX/UCX-1.9.0-NVHPC-21.9-GCC-9.3.0-CUDA-11.4.1.eb @@ -0,0 +1,50 @@ +# IT4Innovations 2021 +# LK + +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.9.0' +versionsuffix= '-GCC-9.3.0-CUDA-11.4.1' + +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.9'} +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-m4.patch'] + +builddependencies = [ + ('GCC', '9.3.0', '', True), + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('numactl', '2.0.13'), + ('CUDAcore', '11.4.1', '', True), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs --with-gdrcopy=/usr/src/gdrdrv-2.3 ' +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'