Backend Targets #
Cross-platform target descriptions for backend planning.
ExecutionConfig says what a run wants. Availability says which devices and providers a planner
may consider. Target describes declared platform/build capabilities: CPU-only Linux, CUDA Linux,
Apple Metal, TPU/XLA, AWS Trainium/Neuron, WASM, or a caller-supplied accelerator all map into the
same capsule planner. A target declaration is not runtime discovery; executable paths must still
probe the linked runtime before launching work.
Operating-system family relevant to backend packaging and dynamic-library loading.
- linux : OperatingSystem
- macOS : OperatingSystem
- windows : OperatingSystem
- wasi : OperatingSystem
- unknown : OperatingSystem
Instances For
Machine architecture relevant to native extension availability.
- x86_64 : Architecture
- aarch64 : Architecture
- wasm32 : Architecture
- unknown : Architecture
Instances For
Primary accelerator family for a build or machine.
- none : Accelerator
- cuda : Accelerator
- rocm : Accelerator
- metal : Accelerator
- wasm : Accelerator
- tpu : Accelerator
- trainium : Accelerator
- custom : Accelerator
- external : Accelerator
Instances For
Optional backend feature compiled into or discoverable from a build.
- nativeCuda : BuildFeature
- libTorch : BuildFeature
- aten : BuildFeature
- mps : BuildFeature
- webGpu : BuildFeature
- cuBLAS : BuildFeature
- cuDNN : BuildFeature
- cuFFT : BuildFeature
- xla : BuildFeature
- neuron : BuildFeature
- customChip : BuildFeature
- externalProvider : BuildFeature
Instances For
Platform/build description used to produce backend availability.
- os : OperatingSystem
- arch : Architecture
- accelerator : Accelerator
- features : List BuildFeature
Instances For
Provider exposed by a build feature, if it corresponds to one.
Instances For
Device exposed by an accelerator target. CPU is added separately by Target.devices.
Instances For
Device set exposed by the target. CPU/reference remains available unless a caller filters it.
Instances For
Providers exposed by the target and its compiled/discovered features.
Instances For
Convert a target declaration to planner capabilities; this does not probe the current machine.
Instances For
Portable CPU/reference target.
Instances For
Linux CPU/reference target.
Instances For
macOS CPU/reference target.
Instances For
Windows CPU/reference target.
Instances For
Linux CUDA target with native CUDA provider features.
Instances For
Windows CUDA target shape. Native support depends on the future Windows build/test pass.
Instances For
Linux ROCm target shape for future AMD/HIP capsules.
Instances For
macOS target for future Metal/MPS capsules.
Instances For
WASM target for browser or WASI-style execution.
Instances For
TPU/XLA target shape for future accelerator capsules.
Instances For
AWS Trainium/Neuron target shape for future accelerator capsules.
Instances For
Target shape for a first-party or lab-specific accelerator with its own capsule provider.
Instances For
Target shape for a caller-supplied accelerator provider.