From a56421151baca3c613a25a70fa80ee38c396c321 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 Aug 2025 14:08:24 +0000 Subject: [PATCH 1/2] Initial plan From ccc8b08fd3714981182b019c07e83d543a658c70 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 Aug 2025 14:14:21 +0000 Subject: [PATCH 2/2] Backport PR #837: Add path for CUDA static library based on CUDA_HOME Co-authored-by: leofang <5534781+leofang@users.noreply.github.com> --- .github/workflows/build-wheel.yml | 2 -- cuda_bindings/setup.py | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wheel.yml b/.github/workflows/build-wheel.yml index 20b71e2515..34bb146dc7 100644 --- a/.github/workflows/build-wheel.yml +++ b/.github/workflows/build-wheel.yml @@ -157,11 +157,9 @@ jobs: # CIBW mounts the host filesystem under /host CIBW_ENVIRONMENT_LINUX: > CUDA_PATH=/host/${{ env.CUDA_PATH }} - LIBRARY_PATH=/host/${{ env.CUDA_PATH }}/lib CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }} CIBW_ENVIRONMENT_WINDOWS: > CUDA_HOME="$(cygpath -w ${{ env.CUDA_PATH }})" - LIB="${CUDA_HOME}\\lib\\x64;${LIB}" CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }} CIBW_BEFORE_BUILD_WINDOWS: "pip install delvewheel" CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair --namespace-pkg cuda -w {dest_dir} {wheel}" diff --git a/cuda_bindings/setup.py b/cuda_bindings/setup.py index 128220371a..ef5948e669 100644 --- a/cuda_bindings/setup.py +++ b/cuda_bindings/setup.py @@ -31,6 +31,7 @@ raise RuntimeError("Environment variable CUDA_HOME or CUDA_PATH is not set") CUDA_HOME = CUDA_HOME.split(os.pathsep) + if os.environ.get("PARALLEL_LEVEL") is not None: warn( "Environment variable PARALLEL_LEVEL is deprecated. Use CUDA_PYTHON_PARALLEL_LEVEL instead", @@ -238,6 +239,8 @@ def generate_output(infile, local): os.path.dirname(sysconfig.get_path("include")), ] + include_path_list library_dirs = [sysconfig.get_path("platlib"), os.path.join(os.sys.prefix, "lib")] +cudalib_subdirs = [r"lib\x64"] if sys.platform == "win32" else ["lib64", "lib"] +library_dirs.extend(os.path.join(prefix, subdir) for prefix in CUDA_HOME for subdir in cudalib_subdirs) extra_compile_args = [] extra_cythonize_kwargs = {}