mlir-development
Expertise in MLIR (Multi-Level Intermediate Representation) and CIR (Clang IR) development for domain-specific compilation and high-level optimizations. Use this skill when building ML compilers, domain-specific languages, or working with multi-level compilation pipelines.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Expertise in MLIR (Multi-Level Intermediate Representation) and CIR (Clang IR) development for domain-specific compilation and high-level optimizations. Use this skill when building ML compilers, domain-specific languages, or working with multi-level compilation pipelines.
How to use
Zainstaluj umiejętność w swoim środowisku Claude/Copilot, wskazując ścieżkę do repozytorium gmh5225/awesome-llvm-security w katalogu .claude/skills/mlir-development.
Zdefiniuj swój dialekt poprzez utworzenie klasy dziedziczącej po mlir::Dialect — określ nazwę dialektu, zarejestruj operacje i typy danych, które będą dostępne w Twojej domenie.
Opisz operacje używając ODS (Operation Definition Specification) w plikach TableGen (.td) — dla każdej operacji zdefiniuj argumenty wejściowe, wyniki, właściwości (Pure, Commutative) i dokumentację.
Zbuduj pipeline transformacji poprzez łańcuchowanie przeć operacji na różnych poziomach abstrakcji — od dialektów wysokopoziomowych (TensorFlow, PyTorch) przez dialekty pośrednie (Linalg, Affine) aż do niskopoziomowych (LLVM, GPU).
Testuj progresywne obniżanie (lowering) między poziomami abstrakcji, upewniając się że każda transformacja zachowuje semantykę kodu i umożliwia optymalizacje specyficzne dla Twojej domeny.
Wykorzystaj bogatą infrastrukturę transformacji MLIR do implementacji optymalizacji wysokopoziomowych — takich jak fuzja operacji, eliminacja martwego kodu czy specjalizacja dla konkretnych architektur sprzętowych.