# IT4Innovations # LK 2024 easyblock = 'EB_UCX_Plugins' name = 'UCX-CUDA' version = '1.15.0' versionsuffix = '-CUDA-%(cudaver)s' homepage = 'http://www.openucx.org/' description = """Unified Communication X An open-source production grade communication framework for data centric and high-performance applications This module adds the UCX CUDA support. """ toolchain = {'name': 'GCCcore', 'version': '13.2.0'} toolchainopts = {'pic': True} source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] checksums = [ ('457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93', '4b202087076bc1c98f9249144f0c277a8ea88ad4ca6f404f94baa9cb3aebda6d'), # ucx-1.15.0.tar.gz {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, ] builddependencies = [ ('binutils', '2.40'), ('Autotools', '20220317'), ('pkgconf', '2.0.3'), ] dependencies = [ ('zlib', '1.2.13'), ('UCX', '1.15.0'), ('CUDA', '12.2.0', '', SYSTEM), ('GDRCopy', '2.4'), ] configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' import os if os.environ.get("CLUSTERNAME") in ["KAROLINA", "BARBORA"]: configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' moduleclass = 'lib'