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, StringSlice("A10"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("ampere"), SIMD(8.5999999999999996), StringSlice("sm_86"), 72)
NVIDIA A10 GPU configuration.
A100
comptime A100 = GPUInfo.from_family(NvidiaAmpereDatacenterFamily, StringSlice("A100"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("ampere"), SIMD(8), StringSlice("sm_80"), 108)
NVIDIA A100 GPU configuration.
AMDCDNA2Family
comptime AMDCDNA2Family = AcceleratorArchitectureFamily(64, 2048, 65536, 65536, 1024)
AMD CDNA2 architecture family (gfx90a).
AMDCDNA3Family
comptime AMDCDNA3Family = AcceleratorArchitectureFamily(64, 2048, 65536, 65536, 1024)
AMD CDNA3 architecture family (gfx94x).
AMDCDNA4Family
comptime AMDCDNA4Family = AcceleratorArchitectureFamily(64, 2048, 163840, 65536, 1024)
AMD CDNA4 architecture family (gfx95x).
AMDRDNAFamily
comptime AMDRDNAFamily = AcceleratorArchitectureFamily(32, 1024, 32768, 32768, 1024)
AMD RDNA architecture family.
AppleMetalFamily
comptime AppleMetalFamily = AcceleratorArchitectureFamily(32, 1024, 32768, 65536, 1024)
Apple Metal GPU architecture family.
B100
comptime B100 = GPUInfo.from_family(NvidiaBlackwellFamily, StringSlice("B100"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("blackwell"), SIMD(10), StringSlice("sm_100a"), 132)
NVIDIA B100 GPU configuration.
B200
comptime B200 = GPUInfo.from_family(NvidiaBlackwellFamily, StringSlice("B200"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("blackwell"), SIMD(10), StringSlice("sm_100a"), 148)
NVIDIA B200 GPU configuration.
B300
comptime B300 = GPUInfo.from_family(NvidiaBlackwellFamily, StringSlice("B300"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("blackwell"), SIMD(10.300000000000001), StringSlice("sm_103a"), 160)
NVIDIA B300 GPU configuration.
DGXSpark
comptime DGXSpark = GPUInfo.from_family(NvidiaBlackwellConsumerFamily, StringSlice("DGX Spark"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("blackwell"), SIMD(12.1), StringSlice("sm_121"), 48)
NVIDIA DGX Spark GPU configuration.
GTX1060
comptime GTX1060 = GPUInfo.from_family(NvidiaPascalFamily, StringSlice("NVIDIA GeForce GTX 1060"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("pascal"), SIMD(6.0999999999999996), StringSlice("sm_61"), 10)
NVIDIA GeForce GTX 1060 GPU configuration.
GTX1080Ti
comptime GTX1080Ti = GPUInfo.from_family(NvidiaPascalFamily, StringSlice("NVIDIA GeForce GTX 1080 Ti"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("pascal"), SIMD(6.0999999999999996), StringSlice("sm_61"), 28)
NVIDIA GeForce GTX 1080 Ti GPU configuration.
GTX970
comptime GTX970 = GPUInfo.from_family(NvidiaMaxwellFamily, StringSlice("NVIDIA GeForce GTX 970"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("maxwell"), SIMD(5.2000000000000002), StringSlice("sm_52"), 13)
NVIDIA GeForce GTX 970 GPU configuration.
H100
comptime H100 = GPUInfo.from_family(NvidiaHopperFamily, StringSlice("H100"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("hopper"), SIMD(9), StringSlice("sm_90a"), 132)
NVIDIA H100 GPU configuration.
JetsonThor
comptime JetsonThor = GPUInfo.from_family(NvidiaBlackwellFamily, StringSlice("Jetson Thor"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("blackwell"), SIMD(11), StringSlice("sm_110"), 20)
NVIDIA Jetson Thor GPU configuration.
L4
comptime L4 = GPUInfo.from_family(NvidiaAdaFamily, StringSlice("L4"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("ada"), SIMD(8.9000000000000004), StringSlice("sm_89"), 58)
NVIDIA L4 GPU configuration.
MetalM1
comptime MetalM1 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M1"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m1"), SIMD(3), StringSlice("metal_3"), 8)
Apple M1 GPU configuration.
MetalM1Metal4
comptime MetalM1Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M1 Metal4"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m1-metal4"), SIMD(4), StringSlice("metal_4"), 8)
Apple M1 GPU configuration for Metal 4.
MetalM2
comptime MetalM2 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M2"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m2"), SIMD(3), StringSlice("metal_3"), 10)
Apple M2 GPU configuration.
MetalM2Metal4
comptime MetalM2Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M2 Metal4"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m2-metal4"), SIMD(4), StringSlice("metal_4"), 10)
Apple M2 GPU configuration for Metal 4.
MetalM3
comptime MetalM3 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M3"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m3"), SIMD(3), StringSlice("metal_3"), 10)
Apple M3 GPU configuration.
MetalM3Metal4
comptime MetalM3Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M3 Metal4"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m3-metal4"), SIMD(4), StringSlice("metal_4"), 10)
Apple M3 GPU configuration for Metal 4.
MetalM4
comptime MetalM4 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M4"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m4"), SIMD(3), StringSlice("metal_3"), 10)
Apple M4 GPU configuration.
MetalM4Metal4
comptime MetalM4Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M4 Metal4"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m4-metal4"), SIMD(4), StringSlice("metal_4"), 10)
Apple M4 GPU configuration for Metal 4.
MetalM5
comptime MetalM5 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M5"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m5"), SIMD(3), StringSlice("metal_3"), 10)
Apple M5 GPU configuration.
MetalM5Metal4
comptime MetalM5Metal4 = GPUInfo.from_family(AppleMetalFamily, StringSlice("M5 Metal4"), Vendor.APPLE_GPU, StringSlice("metal"), StringSlice("apple-m5-metal4"), SIMD(4), StringSlice("metal_4"), 10)
Apple M5 GPU configuration for Metal 4.
MI250X
comptime MI250X = GPUInfo.from_family(AMDCDNA2Family, StringSlice("MI250X"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx90a"), SIMD(9), StringSlice("CDNA2"), 220)
AMD MI250X GPU configuration.
MI300X
comptime MI300X = GPUInfo.from_family(AMDCDNA3Family, StringSlice("MI300X"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx942"), SIMD(9.4000000000000003), StringSlice("CDNA3"), 304)
AMD MI300X GPU configuration.
MI355X
comptime MI355X = GPUInfo.from_family(AMDCDNA4Family, StringSlice("MI355X"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx950"), SIMD(9.5), StringSlice("CDNA4"), 256)
AMD MI355X GPU configuration.
NoGPU
comptime NoGPU = GPUInfo(StringSlice("NoGPU"), Vendor.NO_GPU, StringSlice("none"), StringSlice("no_gpu"), Float32("0"), StringSlice(""), 0, 0, 0, 0, 0, 0)
Placeholder for when no GPU is available.
NvidiaAdaFamily
comptime NvidiaAdaFamily = AcceleratorArchitectureFamily(32, 1536, 102400, 65536, 1024)
NVIDIA Ada Lovelace architecture family (sm_89).
NvidiaAmpereDatacenterFamily
comptime NvidiaAmpereDatacenterFamily = AcceleratorArchitectureFamily(32, 2048, 167936, 65536, 1024)
NVIDIA Ampere datacenter architecture family (sm_80).
NvidiaAmpereEmbeddedFamily
comptime NvidiaAmpereEmbeddedFamily = AcceleratorArchitectureFamily(32, 1536, 167936, 65536, 1024)
NVIDIA Ampere embedded architecture family (sm_87).
NvidiaAmpereWorkstationFamily
comptime NvidiaAmpereWorkstationFamily = AcceleratorArchitectureFamily(32, 1536, 102400, 65536, 1024)
NVIDIA Ampere workstation architecture family (sm_86).
NvidiaBlackwellConsumerFamily
comptime NvidiaBlackwellConsumerFamily = AcceleratorArchitectureFamily(32, 1536, 102400, 65536, 1024)
NVIDIA Blackwell consumer architecture family (sm_120).
NvidiaBlackwellFamily
comptime NvidiaBlackwellFamily = AcceleratorArchitectureFamily(32, 2048, 233472, 65536, 1024)
NVIDIA Blackwell datacenter architecture family (sm_100).
NvidiaHopperFamily
comptime NvidiaHopperFamily = AcceleratorArchitectureFamily(32, 2048, 233472, 65536, 1024)
NVIDIA Hopper architecture family (sm_90).
NvidiaMaxwellFamily
comptime NvidiaMaxwellFamily = AcceleratorArchitectureFamily(32, 2048, 98304, 65536, 1024)
NVIDIA Maxwell architecture family (sm_50-sm_53).
NvidiaPascalFamily
comptime NvidiaPascalFamily = AcceleratorArchitectureFamily(32, 2048, 65536, 65536, 1024)
NVIDIA Pascal architecture family (sm_60-sm_62).
NvidiaTuringFamily
comptime NvidiaTuringFamily = AcceleratorArchitectureFamily(32, 2048, 65536, 32768, 1024)
NVIDIA Turing architecture family (sm_75).
OrinNano
comptime OrinNano = GPUInfo.from_family(NvidiaAmpereEmbeddedFamily, StringSlice("Orin Nano"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("ampere"), SIMD(8.6999999999999993), StringSlice("sm_87"), 8)
NVIDIA Orin Nano GPU configuration.
Radeon6900
comptime Radeon6900 = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 6900"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1102"), SIMD(10.300000000000001), StringSlice("RDNA2"), 60)
AMD Radeon 6900 GPU configuration.
Radeon7600
comptime Radeon7600 = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 7600"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1102"), SIMD(11), StringSlice("RDNA3"), 32)
AMD Radeon 7600 GPU configuration.
Radeon7800
comptime Radeon7800 = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 7800/7700"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1101"), SIMD(11), StringSlice("RDNA3"), 60)
AMD Radeon 7800/7700 GPU configuration.
Radeon780m
comptime Radeon780m = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 780M"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1103"), SIMD(11), StringSlice("RDNA3"), 12)
AMD Radeon 780M GPU configuration.
Radeon7900
comptime Radeon7900 = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 7900"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1100"), SIMD(11), StringSlice("RDNA3"), 96)
AMD Radeon 7900 GPU configuration.
Radeon8060s
comptime Radeon8060s = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 8060S"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1151"), SIMD(11.5), StringSlice("RDNA3.5"), 40)
AMD Radeon 8060S GPU configuration.
Radeon860m
comptime Radeon860m = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 860M"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1152"), SIMD(11.5), StringSlice("RDNA3.5"), 8)
AMD Radeon 860M GPU configuration.
Radeon880m
comptime Radeon880m = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 880M"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1150"), SIMD(11.5), StringSlice("RDNA3.5"), 12)
AMD Radeon 880M GPU configuration.
Radeon9060
comptime Radeon9060 = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 9060"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1200"), SIMD(12), StringSlice("RDNA4"), 32)
AMD Radeon 9060 GPU configuration.
Radeon9070
comptime Radeon9070 = GPUInfo.from_family(AMDRDNAFamily, StringSlice("Radeon 9070"), Vendor.AMD_GPU, StringSlice("hip"), StringSlice("gfx1201"), SIMD(12), StringSlice("RDNA4"), 64)
AMD Radeon 9070 GPU configuration.
RTX2060
comptime RTX2060 = GPUInfo.from_family(NvidiaTuringFamily, StringSlice("RTX2060"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("turing"), SIMD(7.5), StringSlice("sm_75"), 30)
NVIDIA RTX 2060 GPU configuration.
RTX3090
comptime RTX3090 = GPUInfo.from_family(NvidiaAmpereWorkstationFamily, StringSlice("NVIDIA GeForce RTX 3090"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("ampere"), SIMD(8.5999999999999996), StringSlice("sm_86"), 82)
NVIDIA GeForce RTX 3090 GPU configuration.
RTX4090
comptime RTX4090 = GPUInfo.from_family(NvidiaAdaFamily, StringSlice("RTX4090"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("ada lovelace"), SIMD(8.9000000000000004), StringSlice("sm_89"), 128)
NVIDIA RTX 4090 GPU configuration.
RTX4090m
comptime RTX4090m = GPUInfo.from_family(NvidiaAdaFamily, StringSlice("RTX4090m"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("ada lovelace"), SIMD(8.9000000000000004), StringSlice("sm_89"), 76)
NVIDIA RTX 4090 Mobile GPU configuration.
RTX5090
comptime RTX5090 = GPUInfo.from_family(NvidiaBlackwellConsumerFamily, StringSlice("RTX5090"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("blackwell"), SIMD(12), StringSlice("sm_120a"), 170)
NVIDIA RTX 5090 GPU configuration.
TeslaP100
comptime TeslaP100 = GPUInfo.from_family(NvidiaPascalFamily, StringSlice("NVIDIA Tesla P100"), Vendor.NVIDIA_GPU, StringSlice("cuda"), StringSlice("pascal"), SIMD(6), StringSlice("sm_60"), 56)
NVIDIA Tesla P100 GPU configuration.
Structs
-
AcceleratorArchitectureFamily: Defines common defaults for a GPU architecture family. -
GPUInfo: Comprehensive information about a GPU architecture. -
Vendor: Represents GPU vendors.
Functions
-
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_valid_target: Checks if the target is valid (compile-time version).