Skip to content

Commit 8abdbef

Browse files
Lumengineclaude
andcommitted
ci: strip Blackwell sm_100 too (5.6.1 arch matrix broke the runner)
PhysX 5.6.1 added --generate-code for compute_100 (Blackwell), which the pinned CUDA 12.5 toolkit cannot compile ("nvcc fatal: Unsupported gpu architecture 'compute_100'"), failing every Windows GPU job. The arch-strip sed only removed sm_80/86/89/90. Widen the strip to every non-75 arch: compute_8[0-9] / 9[0-9] / 1[0-9][0-9]. sm_75 stays as the sole real target, PTX JIT covers Ampere..Blackwell at launch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent d48a6b7 commit 8abdbef

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

.github/workflows/BuildPhysX.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,20 +63,23 @@ jobs:
6363
working-directory: physx
6464
run: |
6565
# The 16 GB GitHub Windows runner cannot fit the full PhysX arch matrix:
66-
# PhysX 5.6 emits --generate-code for sm_75/80/86/89/90 plus `-t0`, which
67-
# spawns one ptxas per arch in parallel and crashes ptxas with
68-
# ACCESS_VIOLATION (memory exhaustion). PX_GENERATE_GPU_REDUCED_ARCHITECTURES
69-
# only drops sm_70, not enough.
66+
# PhysX 5.6 emits --generate-code for sm_75/80/86/89/90 (and 5.6.1 adds
67+
# Blackwell sm_100) plus `-t0`, which spawns one ptxas per arch in parallel
68+
# and crashes ptxas with ACCESS_VIOLATION (memory exhaustion). On top of
69+
# that, sm_100 (compute_100) is not even supported by the CUDA 12.5 toolkit
70+
# pinned above ("nvcc fatal: Unsupported gpu architecture 'compute_100'").
71+
# PX_GENERATE_GPU_REDUCED_ARCHITECTURES only drops sm_70, not enough.
7072
#
71-
# Strategy: keep sm_75 only and rely on PTX JIT to cover Ampere/Ada/Hopper
72-
# at first launch, then force nvcc to serialize ptxas per .cu file (-t1).
73+
# Strategy: keep sm_75 only and rely on PTX JIT to cover Ampere/Ada/Hopper/
74+
# Blackwell at first launch, then force nvcc to serialize ptxas per .cu (-t1).
7375
shopt -s globstar nullglob
7476
changed=0
7577
for f in compiler/vc17win64-gpu-md/**/*.vcxproj; do
76-
# Strip sm_80 / sm_86 / sm_89 / sm_90 generate-code entries.
78+
# Strip EVERY generate-code entry that is not sm_75: compute_80-99 and
79+
# compute_100+ (Blackwell/newer). compute_75 (7x) is left untouched.
7780
# NB: `#` delimiter avoids clashing with `|` alternation inside the
7881
# pattern (which `s|...|` would mis-parse as the end of the regex).
79-
sed -i -E 's# --generate-code=arch=compute_(80|86|89|90),code=\[[^]]+\]##g' "$f"
82+
sed -i -E 's# --generate-code=arch=compute_(8[0-9]|9[0-9]|1[0-9][0-9]),code=\[[^]]+\]##g' "$f"
8083
# Serialize ptxas threads per nvcc invocation.
8184
sed -i 's| -t0 | -t1 |g' "$f"
8285
changed=$((changed+1))

0 commit comments

Comments
 (0)