Glossaire IA
Le dictionnaire complet de l'Intelligence Artificielle
TVM (Tensor Virtual Machine)
Un framework de compilation open source conçu pour optimiser et exécuter des tenseurs sur diverses architectures matérielles, en abaissant le niveau d'abstraction des modèles de deep learning.
Just-In-Time (JIT) Compilation
Technique de compilation qui traduit le bytecode ou le code intermédiaire en code machine natif au moment de l'exécution, permettant des optimisations basées sur l'état réel du système.
Ahead-of-Time (AOT) Compilation
Processus de compilation du code source en code machine natif avant l'exécution, réduisant la latence de démarrage et permettant des optimisations agressives indépendantes de l'environnement d'exécution.
Graph IR (Intermediate Representation)
Représentation abstraite du graphe de calcul d'un modèle d'IA, utilisée par les compilateurs pour analyser les dépendances et appliquer des transformations d'optimisation avant la génération de code.
Operator Fusion
Technique d'optimisation qui combine plusieurs opérations élémentaires du graphe de calcul en un seul noyau de calcul, réduisant la surcharge de mémoire et améliorant la localité des données.
Auto-scheduling
Processus automatisé de recherche de la meilleure configuration d'exécution (tiling, vectorisation, parallélisation) pour un noyau de calcul sur une architecture matérielle cible donnée.
Target-specific Optimization
Ensemble de techniques de compilation qui adaptent le code généré aux caractéristiques uniques d'une architecture matérielle (CPU, GPU, TPU, ASIC) pour maximiser les performances.
Relay IR
Représentation intermédiaire fonctionnelle de haut niveau dans TVM, supportant les graphes de calcul avec flux de contrôle et permettant des optimisations sémantiques complexes.
Tensor Expression (TE)
Langage spécifique à un domaine dans TVM pour décrire des calculs sur tenseurs à un haut niveau d'abstraction, facilitant la génération automatique de code optimisé pour diverses cibles.
Kernel Auto-tuning
Processus d'exploration systématique de l'espace des paramètres d'optimisation d'un noyau de calcul pour identifier la configuration offrant les meilleures performances sur un matériel spécifique.
HLO (High-Level Optimizer) IR
Représentation intermédiaire utilisée par XLA, décrivant les calculs sous forme d'opérations sur tenseurs de haut niveau, optimisée avant la génération de code pour les accélérateurs.
Codegen (Code Generation)
Phase finale de la compilation où la représentation intermédiaire optimisée est traduite en code machine exécutable pour l'architecture cible spécifique.
Polyhedral Model
Modèle mathématique utilisé pour représenter et transformer des boucles imbriquées, permettant des optimisations complexes comme le tiling et le parallélisation automatique.
LLVM (Low Level Virtual Machine)
Infrastructure de compilation modulaire utilisée par de nombreux compilateurs d'IA pour générer du code machine optimisé pour différentes architectures CPU.
Memory Layout Optimization
Technique de réorganisation des données en mémoire pour améliorer la localité spatiale et temporelle, réduisant les latences d'accès et augmentant le débit de calcul.
Hardware Abstraction Layer (HAL)
Interface logicielle qui masque les détails spécifiques du matériel sous-jacent, permettant aux compilateurs de générer du code portable tout en exploitant les optimisations natives.
Vectorization
Technique d'optimisation qui transforme les opérations scalaires en opérations vectorielles (SIMD), exploitant les unités de calcul parallèle des processeurs modernes.
Tiling
Stratégie de partitionnement des données en blocs (tiles) pour améliorer la réutilisation du cache et l'efficacité de la parallélisation dans les calculs sur tenseurs.
Graph Rewriting
Transformation systématique du graphe de calcul en appliquant des règles de réécriture pour remplacer des sous-graphes par des équivalents plus performants.