diff --git a/o/OVITO/OVITO-3.9.2-gompi-2022b-basic.eb b/o/OVITO/OVITO-3.9.2-gompi-2022b-basic.eb index b6580c0f..06afff0e 100644 --- a/o/OVITO/OVITO-3.9.2-gompi-2022b-basic.eb +++ b/o/OVITO/OVITO-3.9.2-gompi-2022b-basic.eb @@ -22,7 +22,7 @@ builddependencies = [ ] dependencies = [ - ('Qt6', '6.5.3'), + ('Qt6', '6.6.0'), # ('Qt5', '5.15.7'), ('HDF5', '1.14.0'), ('netCDF', '4.9.0'), diff --git a/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb b/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb index 695f9b18..607c46a5 100644 --- a/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb @@ -41,6 +41,7 @@ configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support configopts += '--with-slurm ' # Enable slurm configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' +configopts += '--with-pmix=$EBROOTPMIX ' osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] diff --git a/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb b/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb new file mode 100644 index 00000000..4c9aa169 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb @@ -0,0 +1,86 @@ +# IT4Innovations +# LK 2023 + +name = 'OpenMPI' +version = '4.1.5' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', + 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', + 'OpenMPI-4.1.5_fix-pmix3x.patch', +] +checksums = [ + {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.5_fix-pmix3x.patch': + '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, +] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('Perl', '5.36.1'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('hwloc', '2.9.1'), + ('libevent', '2.1.12'), + ('UCX', '1.14.1'), + ('libfabric', '1.18.0'), + ('PMIx', '4.2.4'), + ('UCC', '1.2.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' +configopts += '--enable-shared --enable-mpi-thread-multiple --with-verbs ' +configopts += '--enable-mpirun-prefix-by-default ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +configopts += '--with-slurm ' # Enable slurm +configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings +configopts += '--with-ucx=$EBROOTUCX ' + +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', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/q/Qt6/Qt6-6.6.0-GCCcore-12.2.0.eb b/q/Qt6/Qt6-6.6.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000..999838ac --- /dev/null +++ b/q/Qt6/Qt6-6.6.0-GCCcore-12.2.0.eb @@ -0,0 +1,99 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'CMakeNinja' + +name = 'Qt6' +version = '6.6.0' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +# AMD/intel cpu +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'lowopt': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'lowopt': True, 'optarch': False} + +# disabling use of -ftree-vectorize is required to avoid compilation failures on some systems (e.g. Intel Skylake X) +#toolchainopts = {'vectorize': False} + +source_urls = [ + 'https://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', +] +sources = ['qt-everywhere-src-%(version)s.tar.xz'] +#patches = [ +# 'Qt6-6.5.2_fix_OF-Gentoo.patch', +#] +checksums = [ + {'qt-everywhere-src-6.6.0.tar.xz': '652538fcb5d175d8f8176c84c847b79177c87847b7273dccaec1897d80b50002'}, +# {'Qt6-6.5.2_fix_OF-Gentoo.patch': '62c4b1abdeac69f40fd48f5e46f470f9f9c328fdb02ab8aceb9aa1885ad8c601'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + # deps for QtWebEngine + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('re2c', '3.0'), +] + +dependencies = [ + ('double-conversion', '3.2.1'), + ('GLib', '2.75.0'), + ('PCRE2', '10.40'), + ('libpng', '1.6.38'), + ('LibTIFF', '4.4.0'), + ('libwebp', '1.3.1'), + ('JasPer', '4.0.0'), + ('HarfBuzz', '5.3.1'), + ('SQLite', '3.39.4'), + ('graphite2', '1.3.14'), +# ('assimp', '5.2.5'), # for Qt 3D + ('FFmpeg', '5.1.2'), + ('X11', '20221110'), + ('fontconfig', '2.14.1'), + ('zlib', '1.2.12'), + ('Python', '3.10.8'), +# ('Python-bundle-PyPI', '2023.06'), # WebEngine +# ('freetype', '2.12.1'), # WebEngine + ('DBus', '1.15.2'), + # ('libevent', '2.1.12'), # WebEngine + ('libGLU', '9.0.2'), + # ('libjpeg-turbo', '2.1.4'), # WebEngine + # ('NSS', '3.85'), # WebEngine, required + # ('snappy', '1.1.9'), # WebEngine + ('OpenSSL', '1.1', '', SYSTEM), +# ('ICU', '72.1'), # WebEngine, optional +# ('nodejs', '18.12.1'), # WebEngine, required + # ('gRPC', '1.52.2'), # WebEngine needs older Abseil/gRPC/protobuf +] + +preconfigopts = 'sed -i "s/MultiMedia/Multimedia/g" ../qt-everywhere-src-%(version)s/qtcharts/CMakeLists.txt &&' # Typo +preconfigopts += 'sed -i "23i set(Python3_ROOT_DIR \\$ENV{EBROOTPYTHON})" ' \ + '../qt-everywhere-src-6.6.0/qtwebengine/src/gn/CMakeLists.txt &&' + +configopts = '-Wno-dev ' +configopts += '-DFEATURE_qtpdf_build=OFF ' # Requires CUPS +configopts += '-DQT_AVOID_CMAKE_ARCHIVING_API=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' +#configopts += '-DBUILD_qtwayland=OFF ' # Does not work on CentOS 7 +# Removed from Qt6.0.0 but may be added back in the future +# configopts += '-DBUILD_qtgamepad=OFF ' # Does not work on CentOS 7 + +sanity_check_paths = { + 'files': ['bin/qmake6', 'lib/libQt6Core.%s' % SHLIB_EXT ], + 'dirs': ['include/QtCore' ], +} + +sanity_check_commands = ['qmake6 --help'] + +moduleclass = 'devel'