gpo.zugaina.org

Search Portage & Overlays:

dev-python/flydsl

Python DSL and MLIR compiler for AMD GPU kernels

Screenshots

  • flydsl-0.3.1
    -* ~amd64
    python_single_target_python3_12 python_single_target_python3_13 python_single_target_python3_14 debug

    View      Download      Browse     License: Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT   
    Overlay: stuff

ChangeLog

commit a0d2ea054f5ebb3f2c35bf3d9d895d85f1f402df
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 26 15:00:46 2026 +0200

dev-python/flydsl: new package

FlyDSL is AMD's Python DSL and MLIR compiler for GPU kernels. aotriton
0.14.2b compiles part of its flash-attention kernels with it and pins
v0.3.1 built against a ROCm LLVM fork commit, refusing to build
otherwise: FlyDSL built against upstream LLVM miscompiles register
spills, which yields wrong kernels rather than a failed build. That
LLVM is built privately here (MLIR and lld only, X86 and AMDGPU) and
linked statically into the MLIR bindings; the installed version
records the commit as +llvm<sha12> so aotriton can check it.

MLIR at that commit asks for nanobind 2.x, so the build uses the
2.12.0 sdist upstream's recipe pins instead of the system nanobind 3.

MLIR links code objects with <ROCm root>/llvm/bin/ld.lld and reads
<ROCm root>/amdgcn/bitcode. /usr/lib/flydsl/rocm provides that layout
with the lld and llvm-readelf of the same LLVM and the system device
bitcode, and is compiled in as the fallback when ROCM_PATH is unset.

torch is an optfeature: upstream declares no dependencies, and
aotriton's build stubs it.