Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 6 additions & 26 deletions ci/build_cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,33 +26,13 @@ export RAPIDS_ARTIFACTS_DIR
source rapids-rattler-channel-string

# Construct the extra variants according to the architecture
if [[ "$(arch)" == "x86_64" ]]; then
cat > variants.yaml << EOF
c_compiler_version:
- 13

cxx_compiler_version:
- 13

cuda_version:
- ${RAPIDS_CUDA_VERSION}
cat > variants.yaml << EOF
cuda_version:
- ${RAPIDS_CUDA_VERSION}
Comment on lines +29 to +31

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This writes out the common variant file content for all cases

EOF
else
cat > variants.yaml << EOF
zip_keys:
- [c_compiler_version, cxx_compiler_version, cuda_version]

c_compiler_version:
- 12
- 13

cxx_compiler_version:
- 12
- 13

cuda_version:
- 12.1 # The last version to not support cufile
- ${RAPIDS_CUDA_VERSION}
if [[ "$(arch)" == "aarch64" ]]; then
cat >> variants.yaml << EOF
- 12.1 # The last version to not support cufile
Comment on lines +33 to +35

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then the legacy CUDA ARM builds are appended to the file

This also makes it easier to drop this section of code when it no longer applies

EOF
fi

Expand Down
2 changes: 2 additions & 0 deletions conda/recipes/libkvikio/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ context:
# 3. Linux aarch64 with CUDA < 12.2, which does not use libcufile
# Each case has different cuda-version constraints as expressed below
should_use_cufile: ${{ x86_64 or (aarch64 and cuda_version >= "12.2") }}
c_compiler_version: ${{ 13 if should_use_cufile else 12 }}
cxx_compiler_version: ${{ c_compiler_version }}
Comment on lines 12 to +14

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of setting different compiler versions in the CUDA variant file, we just set them here in the context. Also this ties them to the relevant thing. Namely whether we can build with cuFile or not

We can see this works as intended with the CUDA 12.1 ARM build

 │ │ │ cuda-version                     ┆ 12.1         ┆ h1d6eff3_3       ┆ conda-forge ┆  20.56 KiB │
 │ │ │ gcc_impl_linux-aarch64           ┆ 12.4.0       ┆ h628656a_2       ┆ conda-forge ┆  56.19 MiB │
 │ │ │ gcc_linux-aarch64                ┆ 12.4.0       ┆ heb3b579_10      ┆ conda-forge ┆  31.88 KiB │
 │ │ │ gxx_impl_linux-aarch64           ┆ 12.4.0       ┆ h0bf7a72_2       ┆ conda-forge ┆  11.36 MiB │
 │ │ │ gxx_linux-aarch64                ┆ 12.4.0       ┆ h3f57e68_10      ┆ conda-forge ┆  30.23 KiB │

# When reverting, instances of cuda_key_string can be replaced with cuda_major
cuda_key_string: ${{ cuda_version | replace(".", "_") }}
#cuda_version: ${{ (env.get("RAPIDS_CUDA_VERSION") | split("."))[:2] | join(".") }}
Expand Down