Module arch

Module arch 

Source
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§

ArchMismatch
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_arch run on a device of device_cc?
target_hint
Which kernels/<hw>/ target ships for a device compute capability.