# IT4Innovations # LK 2024 easyblock = 'EB_UCX_Plugins' name = 'UCX-CUDA' version = '1.16.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': '12.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', 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'), # ucx-1.16.0.tar.gz {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, ] builddependencies = [ ('binutils', '2.39'), ('Autotools', '20220317'), ('pkgconf', '1.9.3'), ] dependencies = [ ('zlib', '1.2.12'), ('UCX', '1.16.0'), ('CUDA', '12.3.0', '', SYSTEM), ('GDRCopy', '2.4.1'), ] 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 ["BARBORA"]: configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' moduleclass = 'lib'