Cette page a été traduite par l'API Cloud Translation.
Switch to English

MLIR

Aperçu

MLIR, ou Multi-Level Intermediate Representation, est un format de représentation et une bibliothèque d'utilitaires de compilation qui se situe entre la représentation du modèle et les compilateurs / exécuteurs de bas niveau qui génèrent du code spécifique au matériel.

MLIR est, en son cœur, une infrastructure flexible pour les compilateurs d'optimisation modernes. Cela signifie qu'il se compose d'une spécification pour les représentations intermédiaires (IR) et d'une boîte à outils de code pour effectuer des transformations sur cette représentation. (Dans le langage du compilateur, lorsque vous passez des représentations de niveau supérieur à des représentations de niveau inférieur, ces transformations peuvent être appelées «abaissements»)

MLIR est fortement influencé par LLVM et en réutilise sans vergogne de nombreuses idées géniales. Il dispose d'un système de type flexible et permet de représenter, d'analyser et de transformer des graphiques combinant plusieurs niveaux d'abstraction dans la même unité de compilation. Ces abstractions incluent les opérations TensorFlow, les régions de boucles polyédriques imbriquées et même les instructions LLVM et les opérations et types de matériel fixes.

Nous nous attendons à ce que MLIR intéresse de nombreux groupes, notamment:

  • Chercheurs et développeurs de compilateurs cherchant à optimiser les performances et la consommation de mémoire des modèles d'apprentissage automatique
  • Les fabricants de matériel recherchant un moyen de connecter leur matériel à TensorFlow, tels que les TPU, le matériel neuronal portable dans les téléphones et d'autres ASIC personnalisés
  • Les personnes qui écrivent des liaisons de langage qui souhaitent tirer parti de l'optimisation des compilateurs et de l'accélération matérielle.

L'écosystème TensorFlow contient un certain nombre de compilateurs et d'optimiseurs qui fonctionnent à plusieurs niveaux de la pile logicielle et matérielle. Nous nous attendons à ce que l'adoption progressive de MLIR simplifie tous les aspects de cette pile.

Diagramme de présentation MLIR