Document how the Studio backend MLX dispatch suite simulates every
hardware combination on a Linux+CPU box without owning the actual
hardware. Specifically:
- Catalogue the seven HardwareProfile rows in
test_hardware_dispatch_matrix.py (nvidia_cuda, amd_rocm, intel_xpu,
apple_silicon_mlx, apple_silicon_no_mlx, linux_arm64_with_mlx,
cpu_only) and the four contracts each profile asserts.
- Explain the spoof mechanism (platform.system, platform.machine,
torch.cuda.is_available, torch.version.hip, torch.xpu.is_available,
torch.xpu.get_device_name, torch.backends.mps.is_available, and
sys.modules['mlx']).
- Document the negative-space canaries that protect the dispatch
priority order (CUDA over MLX, XPU over MLX).
- Cross-reference the AST guard in test_is_mlx_dispatch_gate.py and
the AST checks in test_mlx_training_worker_behaviors.py.
- Provide one-liner pytest invocations for the common subsets and
show how to filter by profile name with -k.
Pure documentation: no production or test code modified. Helps a new
reviewer figure out how to extend the matrix when adding a new
backend without trial and error.