direct files under expr/ are supposed to be the target-neutral DSL surface, but two files break that:
- expr/buffer_ops.py — AMD buffer-resource descriptor packing, buffer_load/buffer_store, Pure AMDGPU.
- expr/rocdl.py — MFMA/WMMA wrappers, ROCDL intrinsic shims
Users importing from flydsl.expr.* can't tell which symbols are portable and which silently pin them to gfx9xx. A future backend has to either fork the file or carry dead AMD code.
Move buffer_ops.py and the standalone rocdl.py under a target-specific package (merge into the existing expr/rocdl/);
direct files under
expr/are supposed to be the target-neutral DSL surface, but two files break that:Users importing from flydsl.expr.* can't tell which symbols are portable and which silently pin them to gfx9xx. A future backend has to either fork the file or carry dead AMD code.
Move buffer_ops.py and the standalone rocdl.py under a target-specific package (merge into the existing expr/rocdl/);