Kernel Offloading with Optimized Remote Accesses

Christophe Alias 1 Alain Darte 1 Alexandru Plesco 1
1 COMPSYS - Compilation and embedded computing systems
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Résumé : Les accélérateurs matériels, comme par exemple via l'utilisation de GPGPUs ou de circuits dédiés sur FPGAs, sont particulièrement intéressants pour accélérer les applications gourmandes en calculs et en accès aux données. En revanche, pour obtenir de bonnes performances quand on déporte un noyau de calcul sur une telle plate-forme d'accélération, il est indispensable de restructurer le code de l'application et de générer des mécanismes de communication adéquats vers la mémoire externe, c'est-à-dire pour les accès distants. Dans un rapport précédent, nous avons montré, dans le contexte de la synthèse de haut niveau (HLS) d'accélérateurs matériels, comment générer une organisation optimisée pour un accélérateur communiquant avec une mémoire externe DDR. Le tiling (tuilage) est utilisé pour permettre des transferts par blocs, adaptés aux mémoires DDR. Le pipeline de processus de communication permet le recouvrement des calculs et communications, et donc de masquer certaines latences, selon un principe similaire à la technique du double buffering. Finalement, la réutilisation des données entre différentes tuiles est exploitée pour éviter des accès distants quand les données sont déjà disponibles dans la mémoire locale. Le but de ce rapport est de montrer comment spécifier les ensembles de données a lire depuis la mémoire externe et à écrire dans cette mémoire de façon à réduire les communications et à réutiliser les données, autant que faire se peut, dans l'accélérateur. La difficulté principale dans une telle spécification apparaît lorsque certaines données sont (re)définies dans l'accélérateur, et pire dans le cas d'approximations, lorsqu'elles le sont peut-être mais que ce n'est pas certain. Nous montrons que des techniques d'optimisations polyédrales paramétrées peuvent être utilisées pour générer les ensembles de données à charger (resp. stocker) avant (resp. après) chaque tuile. Une propriété intéressante de notre méthode est que le cas où aucune approximation n'est nécessaire apparaît naturellement comme un cas particulier de la procédure générale.
Liste complète des métadonnées

Littérature citée [4 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00611179
Contributeur : Alain Darte <>
Soumis le : lundi 25 juillet 2011 - 17:30:29
Dernière modification le : mardi 16 janvier 2018 - 15:42:46
Document(s) archivé(s) le : lundi 12 novembre 2012 - 11:30:08

Fichier

RR-7697.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00611179, version 1

Collections

Citation

Christophe Alias, Alain Darte, Alexandru Plesco. Kernel Offloading with Optimized Remote Accesses. [Research Report] RR-7697, INRIA. 2011, pp.29. 〈inria-00611179〉

Partager

Métriques

Consultations de la notice

290

Téléchargements de fichiers

105