Vous trouverez ici toutes les informations sur Exa-SofT.

Les bibliothèques d’algèbre linéaire sont au cœur du calcul scientifique et de l’intelligence artificielle. En repensant leur exécution sur les architectures hybrides CPU/GPU, de nouvelles approches à base de tâches dynamiques permettent d’en améliorer significativement les performances et la portabilité.

Les bibliothèques de résolution ou de manipulation de systèmes linéaires sont utilisées dans de nombreux domaines de la simulation numérique (aéronautique, énergie, matériaux) et de l’intelligence artificielle (training). Nous cherchons à rendre ces bibliothèques les plus rapides possibles sur les supercalculateurs combinant processeurs traditionnels et accélérateurs graphiques (GPU). Nous utilisons pour cela des modèles d’exécution à base de tâches asynchrones qui maximisent l’occupation des unités de calcul.

C’est un domaine de recherche actif où la plupart des approches existantes se heurtent toutefois au difficile problème de découpage du travail « à la bonne granularité » pour des unités de calcul qui sont hétérogènes.

Durant les derniers mois nous avons mis au point plusieurs extensions d’un modèle de programmation parallèle à base de tâches dit STF (Sequential Task Flow) qui permet d’implémenter de manière beaucoup plus élégante, concise et portable des algorithmes complexes. En combinant ce modèle avec des techniques de découpage dynamique et récursif du travail, on accroît significativement les performances sur des supercalculateurs équipés d’accélérateurs tels que des GPU, notamment grâce à la capacité d’adapter dynamiquement la granularité des calculs en fonction de l’occupation des unités de calcul. A titre d’exemple, grâce à cette approche nous avons obtenu une accélération de 2x par rapport à d’autres bibliothèques de l’état de l’art (MAGMA, Parsec) sur un calculateur hybride CPU/GPU.

Les opérations d’algèbre linéaire sont souvent les étapes les plus coûteuses dans de nombreuses applications de calcul scientifique, analyse de données et apprentissage profond. Par conséquent, toute amélioration de performances dans les bibliothèques d’algèbre linéaire peut potentiellement avoir un impact significatif pour de nombreux utilisateurs de ressource de calcul à haute performance.

Les extensions proposées du modèle STF sont génériques et peuvent également bénéficier à nombreux codes de calcul au-delà du périmètre de l’algèbre linéaire.

Dans la prochaine période, nous souhaitons étudier l’application de cette approche aux algorithmes d’algèbre linéaire pour matrices creuses ainsi qu’aux algorithmes d’algèbre multi-linéaire (calculs tensoriels).

Adapter la granularité permet de confier aux CPUs des tâches plus petites qui ne les occuperont pas trop longtemps, ce qui évite de faire attendre le reste de la machine, tout en continuant à confier aux GPUs de grandes tâches pour qu’ils restent efficaces.

Figure : Adapter la granulométrie permet de confier aux CPUs des tâches plus petites qui ne les occuperont pas trop longtemps, ce qui évite de faire attendre le reste de la machine, tout en continuant à confier aux GPUs de grandes tâches pour qu’ils restent efficaces.
©
PEPR NumPEx

Privacy Preference Center