I'd like to help push the MPS backend off the 🐢 status in the README, and I'm set up to work on it directly (Apple Silicon, can build and test locally). I've contributed on the MPS side before (#1994) and on optimizers (#1998), so I'm somewhat familiar with the layout.
From reading the current backend (#1983, #2004), my understanding of the design is: try the kernels-community/bitsandbytes-mps Hub kernels when available, and fall back to pure PyTorch otherwise, with those fallbacks being what the 🐢 reflects. I don't want to cut across your in-flight work, so rather than guess, I wanted to ask where contributions would be most useful.
A few directions I could take on, if any are helpful:
If the 8-bit optimizer path (the 🚧) is something you'd want help with, I'm glad to look at that too, though I'd want to check it fits your plans first. Let me know what would be most useful, or if you'd rather I stay in the smaller correctness and coverage lane for now.
I'd like to help push the MPS backend off the 🐢 status in the README, and I'm set up to work on it directly (Apple Silicon, can build and test locally). I've contributed on the MPS side before (#1994) and on optimizers (#1998), so I'm somewhat familiar with the layout.
From reading the current backend (#1983, #2004), my understanding of the design is: try the
kernels-community/bitsandbytes-mpsHub kernels when available, and fall back to pure PyTorch otherwise, with those fallbacks being what the 🐢 reflects. I don't want to cut across your in-flight work, so rather than guess, I wanted to ask where contributions would be most useful.A few directions I could take on, if any are helpful:
backends/mps/ops.py, in the spirit of perf: improve default/fallback backend implementation for blockwise quantization ops #1960.If the 8-bit optimizer path (the 🚧) is something you'd want help with, I'm glad to look at that too, though I'd want to check it fits your plans first. Let me know what would be most useful, or if you'd rather I stay in the smaller correctness and coverage lane for now.