From 246c4e24244caf47caccabc814a7ba13455133f0 Mon Sep 17 00:00:00 2001 From: speak-agent <248744407+speak-agent@users.noreply.github.com> Date: Sat, 5 Sep 2026 20:30:58 +0800 Subject: [PATCH 1/3] fix(examples): 09 names the cuRAND payload the clang route needs clang's CUDA wrapper includes curand_mtgp32_kernel.h unconditionally; the example built on a developer machine only because the host's /usr/include supplied it. mcpp.rules.cuda 0.1.0 refuses the clang route without xim:libcurand and names the entry; the example now declares it. --- examples/09-cuda-kernel/app/mcpp.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/09-cuda-kernel/app/mcpp.toml b/examples/09-cuda-kernel/app/mcpp.toml index d1cbff53..bb2c51d8 100644 --- a/examples/09-cuda-kernel/app/mcpp.toml +++ b/examples/09-cuda-kernel/app/mcpp.toml @@ -40,6 +40,11 @@ cuda-runtime = "2026.09.05" [xlings.workspace] "xim:cuda-nvcc" = "12.9.86" "xim:cuda-cudart" = "12.9.79" +# cuRAND's headers. clang's CUDA wrapper includes curand_mtgp32_kernel.h for +# every device unit, so the clang route needs them even though this kernel +# never calls cuRAND; on a developer machine the host's /usr/include used to +# supply the header silently. The 10.3.x line pairs with CUDA 12.x. +"xim:libcurand" = "10.3.10.19" "xim:libcuda-host-link" = { linux = "0.0.1" } [build] From eb230f0b9f648d8bbc4bb9037b0a87814eb74212 Mon Sep 17 00:00:00 2001 From: speak-agent <248744407+speak-agent@users.noreply.github.com> Date: Sat, 5 Sep 2026 20:36:37 +0800 Subject: [PATCH 2/3] fix(examples): 09 also names the CCCL payload cuRAND's header includes from CCCL, the separate cuda-cccl package of the 12.x toolkits; the host's /usr/include supplied it silently on the developer machine. mcpp.rules.cuda refuses the clang route without it and names the entry; the example declares 12.9.27, the 12.9 line. --- examples/09-cuda-kernel/app/mcpp.toml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/09-cuda-kernel/app/mcpp.toml b/examples/09-cuda-kernel/app/mcpp.toml index bb2c51d8..ae582a3c 100644 --- a/examples/09-cuda-kernel/app/mcpp.toml +++ b/examples/09-cuda-kernel/app/mcpp.toml @@ -40,11 +40,13 @@ cuda-runtime = "2026.09.05" [xlings.workspace] "xim:cuda-nvcc" = "12.9.86" "xim:cuda-cudart" = "12.9.79" -# cuRAND's headers. clang's CUDA wrapper includes curand_mtgp32_kernel.h for -# every device unit, so the clang route needs them even though this kernel -# never calls cuRAND; on a developer machine the host's /usr/include used to -# supply the header silently. The 10.3.x line pairs with CUDA 12.x. +# cuRAND's headers and CCCL. clang's CUDA wrapper includes +# curand_mtgp32_kernel.h for every device unit, and that header includes +# from CCCL, so the clang route needs both even though this kernel +# calls neither; on a developer machine the host's /usr/include used to supply +# them silently. 10.3.x and 12.9.27 are the 12.9 line. "xim:libcurand" = "10.3.10.19" +"xim:cuda-cccl" = "12.9.27" "xim:libcuda-host-link" = { linux = "0.0.1" } [build] From 993f10419784e92784d20831e8e9131bb58d6537 Mon Sep 17 00:00:00 2001 From: speak-agent <248744407+speak-agent@users.noreply.github.com> Date: Sat, 5 Sep 2026 20:43:59 +0800 Subject: [PATCH 3/3] ci: re-run checks on the amended head