Skip to content

[Build] CUDA 13.2 #28023

@johnnynunez

Description

@johnnynunez

Describe the issue

The bug: CUDA 13.2's bundled CCCL headers have a C++ syntax error in /usr/local/cuda/targets/sbsa-linux/include/cccl/cub/device/device_transform.cuh line 44:

struct ::cuda::proclaims_copyable_arguments<...> : ::cuda::std::true_type
The struct ::cuda::... global qualification is invalid C++ when specializing a class template. GCC correctly rejects it.

The fix: The patch in build.sh (lines 96-102) detects the buggy header and strips the leading :: from the struct specialization before the build starts:

build.sh
Lines 100-101
echo "Patching CCCL device_transform.cuh (removing invalid global qualification)"
sed -i 's/struct ::cuda::proclaims_copyable_arguments/struct cuda::proclaims_copyable_arguments/g' "$CCCL_HEADER"
The guard (-f check + grep) ensures it's a no-op if the header doesn't exist or has already been fixed in a future CUDA version.

Note: If other packages also fail with this same error on cu132 SBSA, you may want to centralize this fix in packages/cuda/cuda/Dockerfile (as a post-install RUN step) so all downstream images get the patched header. For now, the onnxruntime build should proceed past this point.

Urgency

No response

Target platform

DGX Spark

Build script

as document

Error / output

Failed build

Visual Studio Version

No response

GCC / Compiler Version

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildbuild issues; typically submitted using templateep:CUDAissues related to the CUDA execution provider

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions