Commit f0690fb
committed
modules/cuda: completely revamp microarchitecture handling
Replace the per-CUDA-version architecture lists with a declarative
table of support windows (min/max CUDA version per micro-ISA). There's
a clean separation between version bounds and logic, and once a new
arch like Rubin comes out, it's a table entry instead of a change to
complex intertwined logic.
User-visible changes:
- support the specifiers introduced with CUDA 12.8/12.9:
architecture-specific 'X.Ya' ('Hopper(A)', '12.0a', ...) and
family-specific 'X.Yf' ('10.0f', ...), plus the Thor and newer
Blackwell parts
- min_driver_version() table extended through CUDA 13.3
- '+PTX' is now rejected for architecture-specific ('a') targets,
which have no forward compatibility
- warnings distinguish "CUDA too old for arch" from "arch dropped
from CUDA"1 parent 802e552 commit f0690fb
4 files changed
Lines changed: 343 additions & 250 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
33 | 37 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
92 | 108 | | |
93 | 109 | | |
94 | 110 | | |
| |||
0 commit comments