PyTorch adds FlyDSL execution paths for AMD GPUs
The integration reaches existing operators, with different selection rules for compiled and eager execution.
The October 21 PyTorch post describes an optional execution backend for AMD MI350 GPUs. For eligible compiled matrix multiplications, PyTorch measures candidate implementations and reuses the winner; ATen or Triton can still be selected. Eligible RMSNorm normalization and TopK selection calls use the installed, enabled runtime automatically in eager mode, which executes operations directly. Unsupported inputs retain existing implementations. The example assumes a recent ROCm PyTorch nightly and FlyDSL 0.3.x.
The project guide distinguishes using the package from developing GPU kernels, the small programs executed on the graphics processor. FlyDSL lets authors express data layout and movement in Python. It requires Python 3.10 or newer and ROCm for GPU execution. Its source-tree kernel examples are absent from the installed wheel. Tests and examples additionally need pytest, pandas and a matching ROCm build of PyTorch. The documented import check confirms installation; correctness tests and benchmarks are separate steps.
The linked AOTriton release covers the attention route: it ships FlyDSL kernels under the flyc backend for gfx950 and gfx1201. Its toolchain turns Triton and FlyDSL kernels into a C++ library containing precompiled GPU programs. Version 0.14.2 Beta also fixes scaling-related precision loss in an earlier flyc kernel and a separate Triton backward issue with non-positive scaling factors. The release updates Triton and its tuning database too, so it represents more than a single backend change.
Sources(3)
- IntegrationChecked:
- SetupChecked:
- ReleaseChecked: