Add MPS backend for Apple Silicon #1853
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Dependencies
Requires mps-bitsandbytes for Metal kernels:
Implementation Details
bitsandbytes/backends/mps/module with ops registrationtorch.library.register_kernelfor seamless integration with existingtorch.ops.bitsandbytescallsRegistered kernels:
quantize_4bit,dequantize_4bit,gemv_4bitquantize_blockwise,dequantize_blockwiseint8_linear_matmul,int8_mm_dequant,int8_vectorwise_quant,int8_vectorwise_dequant,int8_scaled_mmoptimizer_update_8bit_blockwise(Adam, Momentum, RMSprop, Lion, AdEMAMix)Notes
12 bf16/fp16 8-bit optimizer test failures: