MemHC optimise la fonction de corrélation à plusieurs corps vitale pour le calcul physique

MemHC optimise la fonction de corrélation à plusieurs corps vitale pour le calcul physique


6 septembre 2022 — Une équipe financée par le projet Exascale Computing a développé MemHC, un cadre de gestion de la mémoire GPU qui optimise la fonction de corrélation à plusieurs corps.

Le noyau de calcul, fondamental pour les applications informatiques de physique moderne, est gourmand en calcul et en mémoire. MemHC accélère le calcul des fonctions de corrélation à plusieurs corps avec une série de nouvelles conceptions de réduction de mémoire. Alors que d’autres efforts récents se sont concentrés sur l’optimisation des contractions individuelles du tenseur et aboutissent à des performances sous-optimales, MemHC optimise la fonction de mémoire parmi les contractions pour réduire la redondance d’allocation de mémoire GPU, la redondance de communication CPU-GPU, la sursouscription GPU et des calculs plus efficaces. Le framework est portable pour les plates-formes utilisant les GPU Nvidia et AMD. Les travaux de l’équipe ont été publiés dans le numéro de mars 2022 de Transactions ACM sur l’architecture et l’optimisation du code.

Les fonctions de corrélation à plusieurs corps sont largement utilisées dans les systèmes de physique scientifique tels que la chromodynamique quantique de réseau et sont essentielles pour les observables de physique telles que la prédiction des propriétés des noyaux légers. Les calculs à partir de ces fonctions sont inefficaces en raison de la difficulté à utiliser pleinement la puissance de calcul du GPU ; production de résultats intermédiaires volumineux, ce qui ajoute de la complexité et peut submerger les GPU disponibles ; et le manque de réutilisation des données, qui génère une grande quantité de tâches d’entrée/sortie GPU. MemHC utilise une gestion sensible à la duplication et une libération différée des mémoires GPU pour une meilleure réutilisation des données (par exemple, les sorties intermédiaires utilisées comme entrées pour les allocations ultérieures) ; met en œuvre la réorganisation des données et la synchronisation à la demande pour éliminer les transferts de données redondants ou inutiles entre les CPU et les GPU ; et exploite le LRU préprotégé pour réduire les expulsions et tirer parti des accès mémoire. Lors des tests, MemHC a atteint des GFLOPS 2,17 à 10,73 × plus élevés par rapport à la gestion unifiée de la mémoire pour les fonctions de corrélation générales et un temps d’exécution amélioré de 3,56 à 6,12 × et une accélération de 3,56 à 6,08 × dans GFLOPS pour trois fonctions de corrélation physique réelles. La politique d’expulsion LRU optimisée de MemHC a surpassé la politique d’origine avec une amélioration allant jusqu’à 1,36 fois.

Les travaux futurs incluent l’extension de MemHC pour traiter davantage de types de systèmes hadroniques et l’optimisation supplémentaire des capacités pour les contractions de tenseurs de haut rang, tels que les systèmes tétra basés sur des tenseurs 4D, qui sont beaucoup plus complexes en termes d’utilisation de la mémoire et de dépenses de calcul. L’équipe prévoit également d’étendre le cadre à un cluster multinœud avec des GPU et d’optimiser les communications intra-nœuds et inter-nœuds, y compris la copie de données asynchrone et la prélecture des données.

Le journal : Qihan Wang, Zhen Peng, Bin Ren, Jie Chen et Robert G. Edwards. “MemHC : un cadre de gestion de la mémoire GPU optimisé pour accélérer la corrélation à plusieurs corps.” 2022. Transactions ACM sur l’architecture et l’optimisation du code (Mars).


Source : Projet de calcul exascale

Leave a Comment