From a8fde54945fb94b2df79ffc7bd1a6d7b5622f889 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <121827174+conda-forge-webservices[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 03:38:19 +0000 Subject: [PATCH 01/29] dummy commit for rerendering --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 7a7f703..8c6c8ff 100644 --- a/README.md +++ b/README.md @@ -233,3 +233,6 @@ Feedstock Maintainers * [@quasiben](https://github.com/quasiben/) * [@xhochy](https://github.com/xhochy/) + + + From 27a8c2cc9e411818497895d6b982bd3f9e468cf5 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 03:39:54 +0000 Subject: [PATCH 02/29] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.34.1, and conda-forge-pinning 2024.04.24.14.42.55 --- ...lernvcccuda_compiler_version11.8cxx_compiler_version11.yaml | 2 -- ...da-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml | 2 -- ...lernvcccuda_compiler_version11.8cxx_compiler_version11.yaml | 2 -- ...da-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml | 2 -- ...lernvcccuda_compiler_version11.8cxx_compiler_version11.yaml | 2 -- ...da-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml | 2 -- README.md | 3 --- 7 files changed, 15 deletions(-) diff --git a/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml b/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml index fae64b8..9af569b 100644 --- a/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml +++ b/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml @@ -26,8 +26,6 @@ rdma_core: - '51' target_platform: - linux-64 -ucx: -- 1.15.0 zip_keys: - - c_compiler_version - cxx_compiler_version diff --git a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml index 84d5816..a88356b 100644 --- a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml +++ b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml @@ -26,8 +26,6 @@ rdma_core: - '51' target_platform: - linux-64 -ucx: -- 1.15.0 zip_keys: - - c_compiler_version - cxx_compiler_version diff --git a/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml b/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml index 37f3e26..e457f72 100644 --- a/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml @@ -30,8 +30,6 @@ rdma_core: - '51' target_platform: - linux-aarch64 -ucx: -- 1.15.0 zip_keys: - - c_compiler_version - cxx_compiler_version diff --git a/.ci_support/linux_aarch64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml b/.ci_support/linux_aarch64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml index 82f422d..da0bf9d 100644 --- a/.ci_support/linux_aarch64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml @@ -30,8 +30,6 @@ rdma_core: - '51' target_platform: - linux-aarch64 -ucx: -- 1.15.0 zip_keys: - - c_compiler_version - cxx_compiler_version diff --git a/.ci_support/linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml b/.ci_support/linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml index 15b12e8..8c2a4e3 100644 --- a/.ci_support/linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml +++ b/.ci_support/linux_ppc64le_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml @@ -26,8 +26,6 @@ rdma_core: - '51' target_platform: - linux-ppc64le -ucx: -- 1.15.0 zip_keys: - - c_compiler_version - cxx_compiler_version diff --git a/.ci_support/linux_ppc64le_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml b/.ci_support/linux_ppc64le_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml index baef54a..be0fdd4 100644 --- a/.ci_support/linux_ppc64le_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml +++ b/.ci_support/linux_ppc64le_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml @@ -26,8 +26,6 @@ rdma_core: - '51' target_platform: - linux-ppc64le -ucx: -- 1.15.0 zip_keys: - - c_compiler_version - cxx_compiler_version diff --git a/README.md b/README.md index 8c6c8ff..7a7f703 100644 --- a/README.md +++ b/README.md @@ -233,6 +233,3 @@ Feedstock Maintainers * [@quasiben](https://github.com/quasiben/) * [@xhochy](https://github.com/xhochy/) - - - From e150253d2b70b5c6863c86c80993ba51760e3b45 Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Wed, 24 Apr 2024 23:40:58 -0400 Subject: [PATCH 03/29] Update meta.yaml --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index cf8c10d..7461556 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,6 +19,8 @@ outputs: - {{ pin_subpackage("ucx", max_pin="x.x") }} ignore_run_exports_from: - {{ compiler("cuda") }} + ignore_run_exports: + - cuda-cudart # [(cuda_compiler_version or "None").startswith("12")] requirements: build: - {{ compiler("c") }} From 81b91cf0fd183a20294ff7e94979c8971cc55fa2 Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Wed, 24 Apr 2024 23:41:51 -0400 Subject: [PATCH 04/29] Update meta.yaml --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7461556..58627ee 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -9,7 +9,7 @@ source: build: skip: true # [not linux or cuda_compiler_version in ("None", "11.2")] - number: 1 + number: 2 outputs: - name: ucx From 6bf4836ea10cb548f3bea99a026244547591b570 Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Thu, 25 Apr 2024 20:20:55 -0400 Subject: [PATCH 05/29] Update meta.yaml --- recipe/meta.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 58627ee..cfd8d35 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -21,6 +21,8 @@ outputs: - {{ compiler("cuda") }} ignore_run_exports: - cuda-cudart # [(cuda_compiler_version or "None").startswith("12")] + missing_dso_whitelist: + - *libcudart.so* # [(cuda_compiler_version or "None").startswith("11")] requirements: build: - {{ compiler("c") }} @@ -38,6 +40,8 @@ outputs: run_constrained: - cuda-version >=11.2,<12 # [(cuda_compiler_version or "None").startswith("11")] - cuda-version >=12,<13 # [(cuda_compiler_version or "None").startswith("12")] + - cudatoolkit # [(cuda_compiler_version or "None").startswith("11")] + - cuda-cudart # [(cuda_compiler_version or "None").startswith("12")] script: install_ucx.sh test: @@ -71,6 +75,8 @@ about: summary: Unified Communication X. dev_url: https://github.com/openucx/ucx doc_url: https://openucx.readthedocs.io/ + prelink_message: + - cudart.txt extra: recipe-maintainers: From b07978da9766a02a135c5dac69a164b5267f2271 Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Thu, 25 Apr 2024 20:23:52 -0400 Subject: [PATCH 06/29] Create cudart.txt --- recipe/cudart.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 recipe/cudart.txt diff --git a/recipe/cudart.txt b/recipe/cudart.txt new file mode 100644 index 0000000..5a98d58 --- /dev/null +++ b/recipe/cudart.txt @@ -0,0 +1,5 @@ +To enable CUDA support, UCX requires the presence of CUDA Runtime (libcudart). +For CUDA 11 and below, this means the "cudatoolkit" package should be installed +in your conda environment. For CUDA 12 and above, it is "cuda-cudart". The required +package needs to be installed manually (versions can be set by also installing +the "cuda-version" package, e.g. "conda install cuda-version=12.3 cuda-cudart"). From d0bcf7c78e67ae03c44d8b4766c6be2160cb1d55 Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Thu, 25 Apr 2024 20:35:58 -0400 Subject: [PATCH 07/29] Update meta.yaml --- recipe/meta.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index cfd8d35..760abe8 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -75,8 +75,6 @@ about: summary: Unified Communication X. dev_url: https://github.com/openucx/ucx doc_url: https://openucx.readthedocs.io/ - prelink_message: - - cudart.txt extra: recipe-maintainers: From e9ed63a54164db4ef35e33c687ef59eab81f1939 Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Thu, 25 Apr 2024 20:37:14 -0400 Subject: [PATCH 08/29] Update and rename cudart.txt to post-link-cudart.sh --- recipe/{cudart.txt => post-link-cudart.sh} | 6 ++++++ 1 file changed, 6 insertions(+) rename recipe/{cudart.txt => post-link-cudart.sh} (87%) diff --git a/recipe/cudart.txt b/recipe/post-link-cudart.sh similarity index 87% rename from recipe/cudart.txt rename to recipe/post-link-cudart.sh index 5a98d58..e740d49 100644 --- a/recipe/cudart.txt +++ b/recipe/post-link-cudart.sh @@ -1,5 +1,11 @@ +#!/bin/bash + +cat << EOF >> $PREFIX/.messages.txt + To enable CUDA support, UCX requires the presence of CUDA Runtime (libcudart). For CUDA 11 and below, this means the "cudatoolkit" package should be installed in your conda environment. For CUDA 12 and above, it is "cuda-cudart". The required package needs to be installed manually (versions can be set by also installing the "cuda-version" package, e.g. "conda install cuda-version=12.3 cuda-cudart"). + +EOF From 9180fad972bcf01520340fc5d3e049014a2c0d2f Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Thu, 25 Apr 2024 20:38:45 -0400 Subject: [PATCH 09/29] Update install_ucx.sh --- recipe/install_ucx.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipe/install_ucx.sh b/recipe/install_ucx.sh index 7ddbb89..3a43e48 100755 --- a/recipe/install_ucx.sh +++ b/recipe/install_ucx.sh @@ -25,3 +25,7 @@ fi make -j${CPU_COUNT} make install + +POST_LINK=$PREFIX/bin/.ucx-post-link.sh +cat $RECIPE_DIR/post-link-cudart.sh >> $POST_LINK +chmod +x $POST_LINK From 382554da189413a33521d4259edad9a157caf83c Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Thu, 25 Apr 2024 20:40:43 -0400 Subject: [PATCH 10/29] Update meta.yaml --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 760abe8..eb6207d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -22,7 +22,7 @@ outputs: ignore_run_exports: - cuda-cudart # [(cuda_compiler_version or "None").startswith("12")] missing_dso_whitelist: - - *libcudart.so* # [(cuda_compiler_version or "None").startswith("11")] + - "*libcudart.so*" # [(cuda_compiler_version or "None").startswith("11")] requirements: build: - {{ compiler("c") }} From d3d1a2411643c746ba30ccca3a5476408d12590b Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Thu, 25 Apr 2024 20:59:30 -0400 Subject: [PATCH 11/29] Update meta.yaml --- recipe/meta.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index eb6207d..b7ccf57 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -22,12 +22,15 @@ outputs: ignore_run_exports: - cuda-cudart # [(cuda_compiler_version or "None").startswith("12")] missing_dso_whitelist: - - "*libcudart.so*" # [(cuda_compiler_version or "None").startswith("11")] + - "*libcuda.so*" + - "*libcudart.so*" + - "*libnvidia-ml.so*" requirements: build: - {{ compiler("c") }} - {{ compiler("cxx") }} - {{ compiler("cuda") }} + - libgomp - automake - autoconf - libtool From 132c18d2083b2bc88b21d2727628a774aae8a266 Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Thu, 25 Apr 2024 21:04:47 -0400 Subject: [PATCH 12/29] Update meta.yaml --- recipe/meta.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b7ccf57..acbb22d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -17,9 +17,8 @@ outputs: build: run_exports: - {{ pin_subpackage("ucx", max_pin="x.x") }} - ignore_run_exports_from: - - {{ compiler("cuda") }} ignore_run_exports: + - cudatoolkit # [(cuda_compiler_version or "None").startswith("11")] - cuda-cudart # [(cuda_compiler_version or "None").startswith("12")] missing_dso_whitelist: - "*libcuda.so*" From 20a96fad74b0972d239c1831d9f04160ef2a42db Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 17:18:53 -0700 Subject: [PATCH 13/29] Reword message to make install steps clearer --- recipe/post-link-cudart.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/post-link-cudart.sh b/recipe/post-link-cudart.sh index e740d49..21c33c9 100644 --- a/recipe/post-link-cudart.sh +++ b/recipe/post-link-cudart.sh @@ -3,9 +3,9 @@ cat << EOF >> $PREFIX/.messages.txt To enable CUDA support, UCX requires the presence of CUDA Runtime (libcudart). -For CUDA 11 and below, this means the "cudatoolkit" package should be installed -in your conda environment. For CUDA 12 and above, it is "cuda-cudart". The required -package needs to be installed manually (versions can be set by also installing -the "cuda-version" package, e.g. "conda install cuda-version=12.3 cuda-cudart"). +The required package with the library needs to be installed manually. + +* For CUDA 11, run: conda install cuda-version=11 cudatoolkit +* For CUDA 12, run: conda install cuda-version=12 cuda-cudart EOF From 8ebef859ed9cf5a59f2d6a089415b35cdf8a1146 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 17:25:42 -0700 Subject: [PATCH 14/29] Try running `ucx_info` test again --- recipe/meta.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index acbb22d..dc0cb16 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -57,9 +57,7 @@ outputs: - test -f "${PREFIX}/lib/libuct${SHLIB_EXT}" - test ! -f "${PREFIX}/lib/libuct.a" - test -f "${PREFIX}/bin/ucx_info" - # Requires driver for GPU test. - # Crashes qemu on ppc64le. - - ${PREFIX}/bin/ucx_info -v # [cuda_compiler_version == "None" and not ppc64le] + - ucx_info -v about: home: https://openucx.org license: BSD-3-Clause From 995ba76218eaa2e82d06014cc68eeb6d695e9e05 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 17:36:53 -0700 Subject: [PATCH 15/29] Readd `ignore_run_exports_from` for CUDA compiler Needed to ignore `cuda-version` export as well. --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index dc0cb16..88ffae2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -17,6 +17,8 @@ outputs: build: run_exports: - {{ pin_subpackage("ucx", max_pin="x.x") }} + ignore_run_exports_from: + - {{ compiler("cuda") }} ignore_run_exports: - cudatoolkit # [(cuda_compiler_version or "None").startswith("11")] - cuda-cudart # [(cuda_compiler_version or "None").startswith("12")] From 132740bd455b3c9856e5a815c20e7f2662d7d9a3 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 17:40:19 -0700 Subject: [PATCH 16/29] Align `cuda-version` in `requirements/host` Constrain CTK packages with `cuda-version` instead of separately. --- recipe/meta.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 88ffae2..e0f7164 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,8 +38,9 @@ outputs: - make - pkg-config host: - - cuda-cudart-dev ={{ cuda_compiler_version }} # [(cuda_compiler_version or "None").startswith("12")] - - cuda-nvml-dev ={{ cuda_compiler_version }} # [(cuda_compiler_version or "None").startswith("12")] + - cuda-version {{ cuda_compiler_version }} + - cuda-cudart-dev # [(cuda_compiler_version or "None").startswith("12")] + - cuda-nvml-dev # [(cuda_compiler_version or "None").startswith("12")] - rdma-core run_constrained: - cuda-version >=11.2,<12 # [(cuda_compiler_version or "None").startswith("11")] From 13b3558f5f7df3fe068330d8b85a07bee0c1a5c1 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 17:42:19 -0700 Subject: [PATCH 17/29] Use `ignore_run_exports_from` for `cuda-cudart-dev` Matches `requirements/host` more closely to make it easier to follow. --- recipe/meta.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e0f7164..253422c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,9 +19,7 @@ outputs: - {{ pin_subpackage("ucx", max_pin="x.x") }} ignore_run_exports_from: - {{ compiler("cuda") }} - ignore_run_exports: - - cudatoolkit # [(cuda_compiler_version or "None").startswith("11")] - - cuda-cudart # [(cuda_compiler_version or "None").startswith("12")] + - cuda-cudart-dev # [(cuda_compiler_version or "None").startswith("12")] missing_dso_whitelist: - "*libcuda.so*" - "*libcudart.so*" From 03f4ff339eff50b8c9b3aaf74eecdc6c3cc2f9bd Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 17:45:45 -0700 Subject: [PATCH 18/29] Drop `libgomp` --- recipe/meta.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 253422c..ea2ce1b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,7 +29,6 @@ outputs: - {{ compiler("c") }} - {{ compiler("cxx") }} - {{ compiler("cuda") }} - - libgomp - automake - autoconf - libtool From d522c66f31bea09270a02fadb1577152af304c5f Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 17:51:53 -0700 Subject: [PATCH 19/29] Further message tweaks --- recipe/post-link-cudart.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/post-link-cudart.sh b/recipe/post-link-cudart.sh index 21c33c9..781d69b 100644 --- a/recipe/post-link-cudart.sh +++ b/recipe/post-link-cudart.sh @@ -2,8 +2,8 @@ cat << EOF >> $PREFIX/.messages.txt -To enable CUDA support, UCX requires the presence of CUDA Runtime (libcudart). -The required package with the library needs to be installed manually. +To enable CUDA support, UCX requires the CUDA Runtime library (libcudart). +The library can be installed with the appropriate command below: * For CUDA 11, run: conda install cuda-version=11 cudatoolkit * For CUDA 12, run: conda install cuda-version=12 cuda-cudart From a26fb36a6a832de51a1d4c0a4bbd919361f04bb5 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 18:05:01 -0700 Subject: [PATCH 20/29] Put `cuda-version` last if users want to tweak it Makes it easier to copy-paste and then add `.X` if needed. --- recipe/post-link-cudart.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/post-link-cudart.sh b/recipe/post-link-cudart.sh index 781d69b..42716d8 100644 --- a/recipe/post-link-cudart.sh +++ b/recipe/post-link-cudart.sh @@ -5,7 +5,7 @@ cat << EOF >> $PREFIX/.messages.txt To enable CUDA support, UCX requires the CUDA Runtime library (libcudart). The library can be installed with the appropriate command below: -* For CUDA 11, run: conda install cuda-version=11 cudatoolkit -* For CUDA 12, run: conda install cuda-version=12 cuda-cudart +* For CUDA 11, run: conda install cudatoolkit cuda-version=11 +* For CUDA 12, run: conda install cuda-cudart cuda-version=12 EOF From 769a77461c874ee01567cd997d77872a8270f73b Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 18:08:58 -0700 Subject: [PATCH 21/29] Add executable bit to post-link script --- recipe/post-link-cudart.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 recipe/post-link-cudart.sh diff --git a/recipe/post-link-cudart.sh b/recipe/post-link-cudart.sh old mode 100644 new mode 100755 From 0422c61b4f92c9064f4c2cfaf94f1d67bcffbf38 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 18:12:53 -0700 Subject: [PATCH 22/29] Copy post-link script --- recipe/install_ucx.sh | 4 +--- recipe/{post-link-cudart.sh => ucx-post-link.sh} | 0 2 files changed, 1 insertion(+), 3 deletions(-) rename recipe/{post-link-cudart.sh => ucx-post-link.sh} (100%) diff --git a/recipe/install_ucx.sh b/recipe/install_ucx.sh index 3a43e48..65537b1 100755 --- a/recipe/install_ucx.sh +++ b/recipe/install_ucx.sh @@ -26,6 +26,4 @@ fi make -j${CPU_COUNT} make install -POST_LINK=$PREFIX/bin/.ucx-post-link.sh -cat $RECIPE_DIR/post-link-cudart.sh >> $POST_LINK -chmod +x $POST_LINK +cp "${RECIPE_DIR}/ucx-post-link.sh" "${PREFIX}/bin/.ucx-post-link.sh" diff --git a/recipe/post-link-cudart.sh b/recipe/ucx-post-link.sh similarity index 100% rename from recipe/post-link-cudart.sh rename to recipe/ucx-post-link.sh From 568653f332c4a599d04b6f74e3432150f69c6270 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 18:14:45 -0700 Subject: [PATCH 23/29] Test post-link script is installed --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ea2ce1b..da14629 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -56,6 +56,7 @@ outputs: - test ! -f "${PREFIX}/lib/libucs.a" - test -f "${PREFIX}/lib/libuct${SHLIB_EXT}" - test ! -f "${PREFIX}/lib/libuct.a" + - test -f "${PREFIX}/bin/.ucx-post-link.sh" - test -f "${PREFIX}/bin/ucx_info" - ucx_info -v about: From 4baab0e5bfd3803c8cf63886d3b4de0a15e235f1 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 18:16:34 -0700 Subject: [PATCH 24/29] Quote message path --- recipe/ucx-post-link.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/ucx-post-link.sh b/recipe/ucx-post-link.sh index 42716d8..79544c2 100755 --- a/recipe/ucx-post-link.sh +++ b/recipe/ucx-post-link.sh @@ -1,6 +1,6 @@ #!/bin/bash -cat << EOF >> $PREFIX/.messages.txt +cat << EOF >> "${PREFIX}/.messages.txt" To enable CUDA support, UCX requires the CUDA Runtime library (libcudart). The library can be installed with the appropriate command below: From 50d613cf92cfab1e8863089e6ed50de9aa8c9e38 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 18:26:42 -0700 Subject: [PATCH 25/29] Disable OpenMP This is only used by tests and benchmarks. Disable it so that it doesn't get linked in leading to missing DSO warnings. --- recipe/install_ucx.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/install_ucx.sh b/recipe/install_ucx.sh index 65537b1..74449d0 100755 --- a/recipe/install_ucx.sh +++ b/recipe/install_ucx.sh @@ -17,6 +17,7 @@ fi --prefix="${PREFIX}" \ --with-sysroot \ --disable-static \ + --disable-openmp \ --enable-cma \ --enable-mt \ --with-gnu-ld \ From e6af696e81debd405e57d0199d5bab8498ccc0ce Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 18:28:19 -0700 Subject: [PATCH 26/29] Enable overlinking checks Make sure there are no missing library dependencies. --- conda-forge.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/conda-forge.yml b/conda-forge.yml index d7939ed..7ba40d4 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,6 +1,7 @@ azure: store_build_artifacts: true conda_build: + error_overlinking: true pkg_format: '2' conda_forge_output_validation: true github: From 7bcfea2c6f2d5f324ca44b3ac8ff4914f7dd3558 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 26 Apr 2024 19:24:31 -0700 Subject: [PATCH 27/29] Require OpenMP Unfortunately it appears disabling OpenMP in builds no longer works correctly. So go ahead and enable it. At least this way the dependency is known, tracked, and used. --- recipe/install_ucx.sh | 2 +- recipe/meta.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/install_ucx.sh b/recipe/install_ucx.sh index 74449d0..c6160f4 100755 --- a/recipe/install_ucx.sh +++ b/recipe/install_ucx.sh @@ -17,7 +17,7 @@ fi --prefix="${PREFIX}" \ --with-sysroot \ --disable-static \ - --disable-openmp \ + --enable-openmp \ --enable-cma \ --enable-mt \ --with-gnu-ld \ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index da14629..bacf886 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -34,6 +34,7 @@ outputs: - libtool - make - pkg-config + - libgomp host: - cuda-version {{ cuda_compiler_version }} - cuda-cudart-dev # [(cuda_compiler_version or "None").startswith("12")] From ddcf7d879fb96b4687fccfb0003bd0b79a0c7bca Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Mon, 29 Apr 2024 11:14:31 -0400 Subject: [PATCH 28/29] add comment --- recipe/meta.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bacf886..3c1dcbc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -43,6 +43,9 @@ outputs: run_constrained: - cuda-version >=11.2,<12 # [(cuda_compiler_version or "None").startswith("11")] - cuda-version >=12,<13 # [(cuda_compiler_version or "None").startswith("12")] + # The actual version constraint comes from cuda-version, so below we explicit list + # them only to codify that these are expected (but optional) dependencies when CUDA + # is in use. - cudatoolkit # [(cuda_compiler_version or "None").startswith("11")] - cuda-cudart # [(cuda_compiler_version or "None").startswith("12")] From 272433bd72d4621d90a3d9e3fe303bd918a29f3a Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Mon, 29 Apr 2024 19:11:41 -0400 Subject: [PATCH 29/29] Disable again ucx_info on ppc64le Co-authored-by: jakirkham --- recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3c1dcbc..f69450f 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -62,7 +62,8 @@ outputs: - test ! -f "${PREFIX}/lib/libuct.a" - test -f "${PREFIX}/bin/.ucx-post-link.sh" - test -f "${PREFIX}/bin/ucx_info" - - ucx_info -v + # Fails on ppc64le + - ucx_info -v # [not ppc64le] about: home: https://openucx.org license: BSD-3-Clause