From d825cfed6d7f12e009fb0607b2d7b85fa51ce4fb Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 22 Jan 2025 20:49:05 -0600 Subject: [PATCH] allow deselecting nvcomp wheels (#17774) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to #16946 Adds a matrix filter `use_cuda_wheels` in the `dependencies.yaml` list used for `libcudf`'s `nvcomp` dependency. Some types of builds (like RAPIDS devcontainers) prefer to use the system-installed nvCOMP to one provided by wheels. This ensures that preference is respected, because those builds pass matrix selector `use_cuda_wheels=false` through `rapids-dependency-file-generator` (https://github.com/rapidsai/devcontainers/pull/382). ## Notes for Reviewers ### How I tested this Saw that `nvidia-nvcomp-cu12` made it into the environment in pip devcontainers builds in previous PRs: ```text ... numpy>=1.23,<3.0a0 nvidia-nvcomp-cu12==4.1.0.6 nvtx>=0.2.1 ... ``` ([logs from recent PR build in this repo](https://github.com/rapidsai/cudf/actions/runs/12860325999/job/35852085397#step:8:1010)) It's not there as of this PR 😁 ```text ... numpy>=1.23,<3.0a0 nvtx>=0.2.1 ... ``` ([build link](https://github.com/rapidsai/cudf/actions/runs/12896597574/job/35959950655?pr=17774#step:8:1028)) # Authors: - James Lamb (https://github.com/jameslamb) - Bradley Dice (https://github.com/bdice) Approvers: - Bradley Dice (https://github.com/bdice) URL: https://github.com/rapidsai/cudf/pull/17774 --- dependencies.yaml | 9 +++++++++ python/libcudf/pyproject.toml | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index e390f539b18..edd83e6e07d 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -438,12 +438,21 @@ dependencies: matrices: - matrix: cuda: "12.*" + use_cuda_wheels: "true" packages: - nvidia-nvcomp-cu12==4.1.0.6 - matrix: cuda: "11.*" + use_cuda_wheels: "true" packages: - nvidia-nvcomp-cu11==4.1.0.6 + # if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels + # (e.g. for DLFW and pip devcontainers) + - matrix: + use_cuda_wheels: "false" + packages: + # if no matching matrix selectors passed, list the unsuffixed packages + # (just as a source of documentation, as this populates pyproject.toml in source control) - matrix: packages: - nvidia-nvcomp==4.1.0.6 diff --git a/python/libcudf/pyproject.toml b/python/libcudf/pyproject.toml index ac85298bc40..9fe930d754c 100644 --- a/python/libcudf/pyproject.toml +++ b/python/libcudf/pyproject.toml @@ -1,4 +1,4 @@ -# Copyright (c) 2024, NVIDIA CORPORATION. +# Copyright (c) 2024-2025, NVIDIA CORPORATION. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -75,7 +75,7 @@ regex = "(?P.*)" [tool.rapids-build-backend] build-backend = "scikit_build_core.build" dependencies-file = "../../dependencies.yaml" -matrix-entry = "cuda_suffixed=true" +matrix-entry = "cuda_suffixed=true;use_cuda_wheels=true" requires = [ "cmake>=3.26.4,!=3.30.0", "libkvikio==25.2.*,>=0.0.0a0",