pytorch/metal-kernel

Escreva kernels Metal/MPS para operadores PyTorch. Use ao adicionar suporte ao dispositivo MPS para operadores, implementar shaders Metal ou portar kernels CUDA para Apple Silicon. Abrange despacho native_functions.yaml, operadores do lado do host e implementação de kernel Metal.

O que é metal-kernel?

Este skill permite que você escreva kernels Metal/MPS para operadores PyTorch, facilitando a adição de suporte ao dispositivo MPS em operadores existentes, a implementação de shaders Metal e a portabilidade de kernels CUDA para Apple Silicon. É particularmente útil para desenvolvedores que trabalham com PyTorch em hardware Apple Silicon, garantindo que operações personalizadas possam ser executadas de forma eficiente no backend MPS. O skill cobre todo o fluxo de trabalho, desde o despacho via `native_functions.yaml`, passando pela implementação de operadores no lado do host, até a criação de kernels Metal shader. Ao fornecer orientação sobre a estrutura de arquivos, convenções de código e melhores práticas, o skill acelera o desenvolvimento e a otimização de operadores MPS, reduzindo a complexidade de integrar código específico de hardware com o ecossistema PyTorch.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/pytorch/pytorch/tree/main/skills/metal-kernel

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que metal-kernel faz?

Escreva kernels Metal/MPS para operadores PyTorch. Use ao adicionar suporte ao dispositivo MPS para operadores, implementar shaders Metal ou portar kernels CUDA para Apple Silicon. Abrange despacho native_functions.yaml, operadores do lado do host e implementação de kernel Metal.

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

pytorch/add-uint-support

Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.

pytorch/aoti-debug

Debug AOTInductor (AOTI) errors and crashes. Use when encountering AOTI segfaults, device mismatch errors, constant loading failures, or runtime errors from aot_compile, aot_load, aoti_compile_and_package, or aoti_load_package.

pytorch/at-dispatch-v2

Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.

pytorch/docstring

Write docstrings for PyTorch functions and methods following PyTorch conventions. Use when writing or updating docstrings in PyTorch code.

pytorch/pr-review

Review PyTorch pull requests for code quality, test coverage, security, and backward compatibility. Use when reviewing PRs, when asked to review code changes, or when the user mentions "review PR", "code review", or "check this PR".

pytorch/pyrefly-type-coverage

Migrate a file to use stricter Pyrefly type checking with annotations required for all functions, classes, and attributes.

pytorch/skill-writer

Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.

pytorch/triaging-issues

Triages GitHub issues by routing to oncall teams, applying labels, and closing questions. Use when processing new PyTorch issues or when asked to triage an issue.

Habilidades Relacionadas