M
metal-kernel
Write Metal/MPS kernels for PyTorch operators. Use when adding MPS device support to operators, implementing Metal shaders, or porting CUDA kernels to Apple Silicon. Covers native_functions.yaml dispatch, host-side operators, and Metal kernel implementation.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Write Metal/MPS kernels for PyTorch operators. Use when adding MPS device support to operators, implementing Metal shaders, or porting CUDA kernels to Apple Silicon. Covers native_functions.yaml dispatch, host-side operators, and Metal kernel implementation.
How to use
- Zainstaluj umiejętność w swoim środowisku Claude lub Copilot, wskazując repozytorium pytorch/pytorch. 2. Otwórz plik aten/src/ATen/native/native_functions.yaml i zlokalizuj wpis operatora, którą chcesz zaimplementować lub zmigrować. 3. Dodaj lub zaktualizuj wpis dyspatchera, wskazując MPS jako cel — użyj formatu strukturalnego (structured: True) dla nowych operatorów lub skonsoliduj istniejące wpisy MPSGraph. 4. Utwórz plik kernela Metal w aten/src/ATen/native/mps/kernels/ — umiejętność pomoże Ci napisać kod wykorzystujący natywne możliwości Metal z infrastruktury c10/metal/, unikając MPSGraph. 5. Zaimplementuj stub po stronie hosta w aten/src/ATen/native/mps/operations/, który będzie łączyć logikę hosta z kernelem Metal. 6. Przetestuj implementację na urządzeniu Apple Silicon, weryfikując poprawność wyników i wydajność w porównaniu z wersjami CPU lub CUDA.