Streaming Multiprocessor Architecture
Streaming Multiprocessors (SMs) are versioned with a particular "architecture" that defines their compatibility with Streaming Assembler (SASS) code.
Most SM versions have two components: a major version and a minor version.
The major version is almost synonymous with GPU architecture family. For
example, all SM versions 6.x
are of the Pascal Architecture. Some NVIDIA
documentation even
makes this claim directly .
But, as an example, Ada GPUs have
SM architecture
version 8.9
, the same major version as Ampere GPUs.
Target SM versions for
SASS compilation can be
specified when invoking nvcc
, the
NVIDIA CUDA Compiler Driver . Compatibility
across major versions is explicitly not guaranteed. For more on compatibility
across minor versions, see the
documentation
for nvcc .