Expand description
Does the PTX this binary carries run on the GPU it was handed?
Atlas compiles ONE SM architecture per build — kernels/<hw>/HARDWARE.toml
[hardware].arch picks it, there is no fatbin and no multi--gencode. So a
binary and a GPU can simply disagree, and until this module existed nothing
checked: the mismatch surfaced as an opaque driver failure inside
cuModuleLoadData (CUDA_ERROR_NO_BINARY_FOR_GPU /
CUDA_ERROR_UNSUPPORTED_PTX_VERSION) that names neither the arch we built
nor the card in the box.
Pure and dependency-free on purpose: the rules are a property of NVIDIA’s
PTX ABI, not of any backend, so they belong where both the CUDA preflight
and the --check-kernels reporter can reach them without a GPU.
Structs§
- Arch
Mismatch - The compiled kernels cannot run on the device in front of them.
- SmArch
- A parsed
sm_XY[a|f]architecture string.
Enums§
- SmSuffix
- The suffix on an
sm_XY…architecture string, which is what decides how far the compiled code travels.
Functions§
- parse_
sm_ arch - Parse an NVIDIA
sm_XY[a|f]architecture string. - ptx_
arch_ runs_ on_ device - Can PTX compiled for
compiled_archrun on a device ofdevice_cc? - target_
hint - Which
kernels/<hw>/target ships for a device compute capability.