IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /docs/manual/basics.md). For the complete Mojo documentation index, see llms.txt.
Skip to main content
Version: 1.0.0
For the complete Mojo documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /docs/manual/basics.md).

info

Contains information about GPU architectures and their capabilities.

This module provides detailed specifications for various GPU models including NVIDIA and AMD GPUs. It includes information about compute capabilities, memory specifications, thread organization, and performance characteristics.

comptime values​

A10​

comptime A10 = GPUInfo.from_family(NvidiaAmpereWorkstationFamily, StringSpan("A10"), StringSpan("cuda"), StringSpan("ampere"), SIMD(8.5999999999999996), StringSpan("sm_86"), Int(72))

NVIDIA A10 GPU configuration.

A100​

comptime A100 = GPUInfo.from_family(NvidiaAmpereDatacenterFamily, StringSpan("A100"), StringSpan("cuda"), StringSpan("ampere"), SIMD(8), StringSpan("sm_80"), Int(108))

NVIDIA A100 GPU configuration.

AMDCDNA2Family​

comptime AMDCDNA2Family = AcceleratorArchitectureFamily(Int(64), Int(2048), Int(65536), Int(65536), Int(1024))

AMD CDNA2 architecture family (gfx90a).

AMDCDNA3Family​

comptime AMDCDNA3Family = AcceleratorArchitectureFamily(Int(64), Int(2048), Int(65536), Int(65536), Int(1024))

AMD CDNA3 architecture family (gfx94x).

AMDCDNA4Family​

comptime AMDCDNA4Family = AcceleratorArchitectureFamily(Int(64), Int(2048), Int(163840), Int(65536), Int(1024))

AMD CDNA4 architecture family (gfx95x).

AMDRDNAFamily​

comptime AMDRDNAFamily = AcceleratorArchitectureFamily(Int(32), Int(1024), Int(32768), Int(32768), Int(1024))

AMD RDNA architecture family.

AppleMetalFamily​

comptime AppleMetalFamily = AcceleratorArchitectureFamily(Int(32), Int(1024), Int(32768), Int(65536), Int(1024))

Apple Metal GPU architecture family.

B100​

comptime B100 = GPUInfo.from_family(NvidiaBlackwellFamily, StringSpan("B100"), StringSpan("cuda"), StringSpan("blackwell"), SIMD(10), StringSpan("sm_100a"), Int(132))

NVIDIA B100 GPU configuration.

B200​

comptime B200 = GPUInfo.from_family(NvidiaBlackwellFamily, StringSpan("B200"), StringSpan("cuda"), StringSpan("blackwell"), SIMD(10), StringSpan("sm_100a"), Int(148))

NVIDIA B200 GPU configuration.

B300​

comptime B300 = GPUInfo.from_family(NvidiaBlackwellFamily, StringSpan("B300"), StringSpan("cuda"), StringSpan("blackwell"), SIMD(10.300000000000001), StringSpan("sm_103a"), Int(160))

NVIDIA B300 GPU configuration.

DGXSpark​

comptime DGXSpark = GPUInfo.from_family(NvidiaBlackwellConsumerFamily, StringSpan("DGX Spark"), StringSpan("cuda"), StringSpan("blackwell"), SIMD(12.1), StringSpan("sm_121"), Int(48))

NVIDIA DGX Spark GPU configuration.

GTX1060​

comptime GTX1060 = GPUInfo.from_family(NvidiaPascalFamily, StringSpan("NVIDIA GeForce GTX 1060"), StringSpan("cuda"), StringSpan("pascal"), SIMD(6.0999999999999996), StringSpan("sm_61"), Int(10))

NVIDIA GeForce GTX 1060 GPU configuration.

GTX1080Ti​

comptime GTX1080Ti = GPUInfo.from_family(NvidiaPascalFamily, StringSpan("NVIDIA GeForce GTX 1080 Ti"), StringSpan("cuda"), StringSpan("pascal"), SIMD(6.0999999999999996), StringSpan("sm_61"), Int(28))

NVIDIA GeForce GTX 1080 Ti GPU configuration.

GTX970​

comptime GTX970 = GPUInfo.from_family(NvidiaMaxwellFamily, StringSpan("NVIDIA GeForce GTX 970"), StringSpan("cuda"), StringSpan("maxwell"), SIMD(5.2000000000000002), StringSpan("sm_52"), Int(13))

NVIDIA GeForce GTX 970 GPU configuration.

H100​

comptime H100 = GPUInfo.from_family(NvidiaHopperFamily, StringSpan("H100"), StringSpan("cuda"), StringSpan("hopper"), SIMD(9), StringSpan("sm_90a"), Int(132))

NVIDIA H100 GPU configuration.

JetsonThor​

comptime JetsonThor = GPUInfo.from_family(NvidiaBlackwellFamily, StringSpan("Jetson Thor"), StringSpan("cuda"), StringSpan("blackwell"), SIMD(11), StringSpan("sm_110"), Int(20))

NVIDIA Jetson Thor GPU configuration.

L4​

comptime L4 = GPUInfo.from_family(NvidiaAdaFamily, StringSpan("L4"), StringSpan("cuda"), StringSpan("ada"), SIMD(8.9000000000000004), StringSpan("sm_89"), Int(58))

NVIDIA L4 GPU configuration.

MetalM1​

comptime MetalM1 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M1"), StringSpan("metal"), StringSpan("apple-m1"), SIMD(3), StringSpan("metal_3"), Int(8))

Apple M1 GPU configuration.

MetalM1Metal4​

comptime MetalM1Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M1 Metal4"), StringSpan("metal"), StringSpan("apple-m1-metal4"), SIMD(4), StringSpan("metal_4"), Int(8))

Apple M1 GPU configuration for Metal 4.

MetalM2​

comptime MetalM2 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M2"), StringSpan("metal"), StringSpan("apple-m2"), SIMD(3), StringSpan("metal_3"), Int(10))

Apple M2 GPU configuration.

MetalM2Metal4​

comptime MetalM2Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M2 Metal4"), StringSpan("metal"), StringSpan("apple-m2-metal4"), SIMD(4), StringSpan("metal_4"), Int(10))

Apple M2 GPU configuration for Metal 4.

MetalM3​

comptime MetalM3 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M3"), StringSpan("metal"), StringSpan("apple-m3"), SIMD(3), StringSpan("metal_3"), Int(10))

Apple M3 GPU configuration.

MetalM3Metal4​

comptime MetalM3Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M3 Metal4"), StringSpan("metal"), StringSpan("apple-m3-metal4"), SIMD(4), StringSpan("metal_4"), Int(10))

Apple M3 GPU configuration for Metal 4.

MetalM4​

comptime MetalM4 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M4"), StringSpan("metal"), StringSpan("apple-m4"), SIMD(3), StringSpan("metal_3"), Int(10))

Apple M4 GPU configuration.

MetalM4Metal4​

comptime MetalM4Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M4 Metal4"), StringSpan("metal"), StringSpan("apple-m4-metal4"), SIMD(4), StringSpan("metal_4"), Int(10))

Apple M4 GPU configuration for Metal 4.

MetalM5​

comptime MetalM5 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M5"), StringSpan("metal"), StringSpan("apple-m5"), SIMD(3), StringSpan("metal_3"), Int(10))

Apple M5 GPU configuration.

MetalM5Metal4​

comptime MetalM5Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSpan("M5 Metal4"), StringSpan("metal"), StringSpan("apple-m5-metal4"), SIMD(4), StringSpan("metal_4"), Int(10))

Apple M5 GPU configuration for Metal 4.

MI250X​

comptime MI250X = GPUInfo.from_family(AMDCDNA2Family, StringSpan("MI250X"), StringSpan("hip"), StringSpan("gfx90a"), SIMD(9), StringSpan("CDNA2"), Int(220))

AMD MI250X GPU configuration.

MI300A​

comptime MI300A = GPUInfo.from_family(AMDCDNA3Family, StringSpan("MI300A"), StringSpan("hip"), StringSpan("gfx942"), SIMD(9.4000000000000003), StringSpan("CDNA3"), Int(228))

AMD MI300A APU configuration.

The MI300A is an Accelerated Processing Unit (APU) that integrates Zen 4 CPU cores with CDNA 3 GPU compute units and unified HBM3 memory. It shares the gfx942 ISA with the MI300X but has fewer compute units (228 vs 304) and unified host/device memory. Found in systems such as the CINES Adastra supercomputer.

MI300X​

comptime MI300X = GPUInfo.from_family(AMDCDNA3Family, StringSpan("MI300X"), StringSpan("hip"), StringSpan("gfx942"), SIMD(9.4000000000000003), StringSpan("CDNA3"), Int(304))

AMD MI300X GPU configuration.

MI355X​

comptime MI355X = GPUInfo.from_family(AMDCDNA4Family, StringSpan("MI355X"), StringSpan("hip"), StringSpan("gfx950"), SIMD(9.5), StringSpan("CDNA4"), Int(256))

AMD MI355X GPU configuration.

NoGPU​

comptime NoGPU = GPUInfo(StringSpan("NoGPU"), StringSpan("none"), StringSpan("no_gpu"), Float32("0"), StringSpan(""), Int(0), Int(0), Int(0), Int(0), Int(0), Int(0))

Placeholder for when no GPU is available.

NvidiaAdaFamily​

comptime NvidiaAdaFamily = AcceleratorArchitectureFamily(Int(32), Int(1536), Int(102400), Int(65536), Int(1024))

NVIDIA Ada Lovelace architecture family (sm_89).

NvidiaAmpereDatacenterFamily​

comptime NvidiaAmpereDatacenterFamily = AcceleratorArchitectureFamily(Int(32), Int(2048), Int(167936), Int(65536), Int(1024))

NVIDIA Ampere datacenter architecture family (sm_80).

NvidiaAmpereEmbeddedFamily​

comptime NvidiaAmpereEmbeddedFamily = AcceleratorArchitectureFamily(Int(32), Int(1536), Int(167936), Int(65536), Int(1024))

NVIDIA Ampere embedded architecture family (sm_87).

NvidiaAmpereWorkstationFamily​

comptime NvidiaAmpereWorkstationFamily = AcceleratorArchitectureFamily(Int(32), Int(1536), Int(102400), Int(65536), Int(1024))

NVIDIA Ampere workstation architecture family (sm_86).

NvidiaBlackwellConsumerFamily​

comptime NvidiaBlackwellConsumerFamily = AcceleratorArchitectureFamily(Int(32), Int(1536), Int(102400), Int(65536), Int(1024))

NVIDIA Blackwell consumer architecture family (sm_120).

NvidiaBlackwellFamily​

comptime NvidiaBlackwellFamily = AcceleratorArchitectureFamily(Int(32), Int(2048), Int(233472), Int(65536), Int(1024))

NVIDIA Blackwell datacenter architecture family (sm_100).

NvidiaHopperFamily​

comptime NvidiaHopperFamily = AcceleratorArchitectureFamily(Int(32), Int(2048), Int(233472), Int(65536), Int(1024))

NVIDIA Hopper architecture family (sm_90).

NvidiaMaxwellFamily​

comptime NvidiaMaxwellFamily = AcceleratorArchitectureFamily(Int(32), Int(2048), Int(98304), Int(65536), Int(1024))

NVIDIA Maxwell architecture family (sm_50-sm_53).

NvidiaPascalFamily​

comptime NvidiaPascalFamily = AcceleratorArchitectureFamily(Int(32), Int(2048), Int(65536), Int(65536), Int(1024))

NVIDIA Pascal architecture family (sm_60-sm_62).

NvidiaTuringFamily​

comptime NvidiaTuringFamily = AcceleratorArchitectureFamily(Int(32), Int(2048), Int(65536), Int(32768), Int(1024))

NVIDIA Turing architecture family (sm_75).

OrinNano​

comptime OrinNano = GPUInfo.from_family(NvidiaAmpereEmbeddedFamily, StringSpan("Orin Nano"), StringSpan("cuda"), StringSpan("ampere"), SIMD(8.6999999999999993), StringSpan("sm_87"), Int(8))

NVIDIA Orin Nano GPU configuration.

Radeon6900​

comptime Radeon6900 = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 6900"), StringSpan("hip"), StringSpan("gfx1030"), SIMD(10.300000000000001), StringSpan("RDNA2"), Int(60))

AMD Radeon 6900 GPU configuration.

Radeon7600​

comptime Radeon7600 = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 7600"), StringSpan("hip"), StringSpan("gfx1102"), SIMD(11), StringSpan("RDNA3"), Int(32))

AMD Radeon 7600 GPU configuration.

Radeon7800​

comptime Radeon7800 = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 7800/7700"), StringSpan("hip"), StringSpan("gfx1101"), SIMD(11), StringSpan("RDNA3"), Int(60))

AMD Radeon 7800/7700 GPU configuration.

Radeon780m​

comptime Radeon780m = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 780M"), StringSpan("hip"), StringSpan("gfx1103"), SIMD(11), StringSpan("RDNA3"), Int(12))

AMD Radeon 780M GPU configuration.

Radeon7900​

comptime Radeon7900 = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 7900"), StringSpan("hip"), StringSpan("gfx1100"), SIMD(11), StringSpan("RDNA3"), Int(96))

AMD Radeon 7900 GPU configuration.

Radeon8060s​

comptime Radeon8060s = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 8060S"), StringSpan("hip"), StringSpan("gfx1151"), SIMD(11.5), StringSpan("RDNA3.5"), Int(40))

AMD Radeon 8060S GPU configuration.

Radeon860m​

comptime Radeon860m = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 860M"), StringSpan("hip"), StringSpan("gfx1152"), SIMD(11.5), StringSpan("RDNA3.5"), Int(8))

AMD Radeon 860M GPU configuration.

Radeon880m​

comptime Radeon880m = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 880M"), StringSpan("hip"), StringSpan("gfx1150"), SIMD(11.5), StringSpan("RDNA3.5"), Int(12))

AMD Radeon 880M GPU configuration.

Radeon9060​

comptime Radeon9060 = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 9060"), StringSpan("hip"), StringSpan("gfx1200"), SIMD(12), StringSpan("RDNA4"), Int(32))

AMD Radeon 9060 GPU configuration.

Radeon9070​

comptime Radeon9070 = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Radeon 9070"), StringSpan("hip"), StringSpan("gfx1201"), SIMD(12), StringSpan("RDNA4"), Int(64))

AMD Radeon 9070 GPU configuration.

RTX2060​

comptime RTX2060 = GPUInfo.from_family(NvidiaTuringFamily, StringSpan("RTX2060"), StringSpan("cuda"), StringSpan("turing"), SIMD(7.5), StringSpan("sm_75"), Int(30))

NVIDIA RTX 2060 GPU configuration.

RTX3090​

comptime RTX3090 = GPUInfo.from_family(NvidiaAmpereWorkstationFamily, StringSpan("NVIDIA GeForce RTX 3090"), StringSpan("cuda"), StringSpan("ampere"), SIMD(8.5999999999999996), StringSpan("sm_86"), Int(82))

NVIDIA GeForce RTX 3090 GPU configuration.

RTX4090​

comptime RTX4090 = GPUInfo.from_family(NvidiaAdaFamily, StringSpan("RTX4090"), StringSpan("cuda"), StringSpan("ada lovelace"), SIMD(8.9000000000000004), StringSpan("sm_89"), Int(128))

NVIDIA RTX 4090 GPU configuration.

RTX4090m​

comptime RTX4090m = GPUInfo.from_family(NvidiaAdaFamily, StringSpan("RTX4090m"), StringSpan("cuda"), StringSpan("ada lovelace"), SIMD(8.9000000000000004), StringSpan("sm_89"), Int(76))

NVIDIA RTX 4090 Mobile GPU configuration.

RTX5090​

comptime RTX5090 = GPUInfo.from_family(NvidiaBlackwellConsumerFamily, StringSpan("RTX5090"), StringSpan("cuda"), StringSpan("blackwell"), SIMD(12), StringSpan("sm_120a"), Int(170))

NVIDIA RTX 5090 GPU configuration.

SteamDeck​

comptime SteamDeck = GPUInfo.from_family(AMDRDNAFamily, StringSpan("Steam Deck"), StringSpan("hip"), StringSpan("gfx1033"), SIMD(10.300000000000001), StringSpan("RDNA2"), Int(8))

Steam Deck (Van Gogh) APU configuration.

TeslaP100​

comptime TeslaP100 = GPUInfo.from_family(NvidiaPascalFamily, StringSpan("NVIDIA Tesla P100"), StringSpan("cuda"), StringSpan("pascal"), SIMD(6), StringSpan("sm_60"), Int(56))

NVIDIA Tesla P100 GPU configuration.

Structs​

Functions​

  • ​get_gpu_target: Gets the GPU target information for the specified architecture.
  • ​is_accelerator: Checks if the target is an accelerator (compile-time version).
  • ​is_cpu: Checks if the target is a CPU (compile-time version).
  • ​is_gpu: Checks if the target is a GPU (compile-time version).
  • ​is_npu: Checks if the target is an NPU (compile-time version).
  • ​is_valid_target: Checks if the target is valid (compile-time version).