From b1fd4aeb24bba81c783102be9d1941c55527a4f4 Mon Sep 17 00:00:00 2001 From: tanmoy1989 Date: Mon, 7 Oct 2024 04:49:53 +0100 Subject: [PATCH 1/3] adding easyconfigs: UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb --- ...C-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb new file mode 100644 index 00000000000..dc0b38a7c5b --- /dev/null +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb @@ -0,0 +1,55 @@ +easyblock = 'ConfigureMake' + +name = 'UCC-CUDA' +version = '1.2.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_link_against_existing_UCC_libs.patch', +] +checksums = [ + {'v1.2.0.tar.gz': 'c1552797600835c0cf401b82dc89c4d27d5717f4fb805d41daca8e19f65e509d'}, + {'UCC-CUDA-1.2.0_link_against_existing_UCC_libs.patch': + '84157be5eae96d2501df076bcf0598b104adf80abeca028a144c4fb098638207'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCC', version), + ('CUDA', '12.4.0', '', SYSTEM), + ('UCX-CUDA', '1.15.0', '-CUDA-%(cudaver)s'), + ('NCCL', '2.20.5', '-CUDA-%(cudaver)s'), +] + +preconfigopts = "./autogen.sh && " + +buildopts = '-C src/components/mc/cuda V=1 && make -C src/components/tl/nccl V=1' +installopts = '-C src/components/mc/cuda && make -C src/components/tl/nccl install' + +sanity_check_paths = { + 'files': ['lib/ucc/libucc_mc_cuda.%s' % SHLIB_EXT, 'lib/ucc/libucc_tl_nccl.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +modextrapaths = {'EB_UCC_EXTRA_COMPONENT_PATH': 'lib/ucc'} + +cuda_compute_capabilities = ['8.0', '8.9'] + +moduleclass = 'lib' From 46141a3f40e699433fac03af2d3ed81bd5a62da7 Mon Sep 17 00:00:00 2001 From: "Tanmoy Chakraborty, Ph.D." <56235576+tanmoy1989@users.noreply.github.com> Date: Mon, 7 Oct 2024 09:27:53 +0530 Subject: [PATCH 2/3] Update UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb --- .../u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb index dc0b38a7c5b..ae39e3c18e8 100644 --- a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb @@ -50,6 +50,4 @@ sanity_check_commands = ["ucc_info -c"] modextrapaths = {'EB_UCC_EXTRA_COMPONENT_PATH': 'lib/ucc'} -cuda_compute_capabilities = ['8.0', '8.9'] - moduleclass = 'lib' From ff6f2914606b6e60dc5844bf9853925299998488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 29 Nov 2024 09:55:09 +0100 Subject: [PATCH 3/3] add line about CUDA support to description --- .../u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb index ae39e3c18e8..f8bba051951 100644 --- a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb @@ -8,6 +8,8 @@ homepage = 'https://www.openucx.org/' description = """UCC (Unified Collective Communication) is a collective communication operations API and library that is flexible, complete, and feature-rich for current and emerging programming models and runtimes. + +This module adds the UCC CUDA support. """ toolchain = {'name': 'GCCcore', 'version': '13.2.0'}