Compilation et optimisation statique des communications hôte-accélérateur
Résumé
La puissance de calcul disponible dans les machines hybrides à base d'accélérateurs matériels nécessite de réécrire les programmes selon un modèle complexe et réparti : les données traitées doivent être copiées entre mémoire de l'hôte et mémoire de l'accélérateur. Cette contrainte est régulièrement identifiée comme le goulet d'étranglement. Nous proposons une transformation automatique que nous avons implémentée comme une passe de compilation au sein de PIPS/PAR4ALL qui génère statiquement des instructions de copies entre l'hôte et l'accélérateur selon deux stratégies " au plus tôt " et " au plus tard ". De plus les communications inutiles avec l'hôte résultant d'une réutilisation de données entre deux appels de noyaux sont évitées. Alors que les instructions initiant les transferts mémoire sont générées statiquement, un support exécutif associe lorsque nécessaire les tableaux de données de l'hôte à des zones mémoires sur l'accélérateur. Nous présentons les gains obtenus avec des expériences.
Fichier principal
A-451.pdf (113.89 Ko)
Télécharger le fichier
A-469.pdf (963.59 Ko)
Télécharger le fichier
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Format | Autre |
---|
Loading...