pytorch/metal-kernel

Écrire des noyaux Metal/MPS pour les opérateurs PyTorch. À utiliser lors de l'ajout du support de périphérique MPS aux opérateurs, de l'implémentation de shaders Metal ou du portage de noyaux CUDA vers Apple Silicon. Couvre le dispatch native_functions.yaml, les opérateurs côté hôte et l'implémentation de noyau Metal.

Qu'est-ce que metal-kernel ?

Cette compétence permet aux agents IA (tels que Claude Code, Cursor, Codex) d'écrire des noyaux Metal Performance Shaders (MPS) pour les opérateurs PyTorch, ciblant spécifiquement Apple Silicon. Elle est utile pour les développeurs qui souhaitent ajouter le support de périphérique MPS à des opérateurs existants, implémenter des shaders Metal personnalisés ou porter des noyaux CUDA vers le matériel Apple. La compétence couvre des aspects clés comme la configuration du dispatch via native_functions.yaml, la création d'opérateurs côté hôte en C++, et l'implémentation de noyaux Metal en utilisant le langage de shading Metal. Elle supporte les workflows d'extension de PyTorch pour exploiter pleinement le GPU unifié des systèmes Apple Silicon, offrant une alternative performante à CUDA pour le calcul accéléré sur macOS.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait metal-kernel ?

Écrire des noyaux Metal/MPS pour les opérateurs PyTorch. À utiliser lors de l'ajout du support de périphérique MPS aux opérateurs, de l'implémentation de shaders Metal ou du portage de noyaux CUDA vers Apple Silicon. Couvre le dispatch native_functions.yaml, les opérateurs côté hôte et l'implémentation de noyau 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.

Skills associés