Work

Ordonnancement Polyédrique Configurable pour des Compilateurs d'Apprentissage Profond Adaptés à tous les scénarios

Year: 2024
Type: dissertation
Abstract: L'optimisation polyédrique est une technique de compilation qui a suscité un regain d'intérêt considérable en raison de sa pertinence pour l'optimisation des noyaux de calcul des applications d'IA et d'apprentissage profond. Les calculs tensoriels, fortement basés sur des boucles, se prêtent particulièrement bien à l'optimisation polyédrique.Un défi permanent dans la recherche sur l'IA et l'apprentissage profond est l'optimisation des performances sur diverses architectures, telles que les CPU, les GPU et les accélérateurs d'IA.Dans l'état actuel de l'optimisation polyédrique, de nombreux ordonnanceurs polyédriques ont été proposés, chacun adapté à des scénarios spécifiques. Cependant, l'intégration d'un ordonnanceur polyédrique distinct pour chaque architecture cible est peu pratique et coûteuse.Cette thèse présente une solution à ce problème : tout d'abord, nous introduisons une interface pour influencer un ordonnanceur polyédrique générique nommé MindTrick. Ensuite, nous présentons notre contribution, PolyTOPS, un ordonnanceur polyédrique flexible et reconfigurable conçu pour s'adapter à différents scénarios et fournir un contrôle sur les stratégies internes. Grâce à nos contributions, nous avons mené des expériences sur différentes architectures, démontrant des accélérations significatives pour les GPU (jusqu'à 12,53x avec MindTrick par rapport à isl-scheduler), les NPU Ascend (accélération moyenne géométrique de 7,66x avec PolyTOPS par rapport à isl-scheduler), et les CPU (accélération moyenne géométrique de 1,82x sur le benchmark PolyBench avec PolyTOPS par rapport à Pluto scheduler).
Language: English
Open Access status: green
OpenAlex ID: W7032887250
Cites:
Cited by:
Related to: