Compilation et optimisation statique des communications hôte-accélérateur - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Revue des Sciences et Technologies de l'Information - Série TSI : Technique et Science Informatiques Année : 2012

Compilation et optimisation statique des communications hôte-accélérateur

(1) , (1) , (1) , (2, 3)
1
2
3

Résumé

La puissance de calcul disponible dans les machines hybrides à base d'accélérateurs matériels de type GPU 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 goulot d'étranglement. Nous proposons une transformation automatique 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 ou redondantes sont évitées. Nous présentons les résultats obtenus avec des tests pris parmi les Polybench 2.0, les Rodinia, et sur une simulation numérique réelle. Nous obtenons une accélération moyenne de 4 à 5 par rapport à une parallélisation naïve sur un GPU moderne avec PAR4ALL, HMPP, et PGI ; et de 3.5 par rapport à une version OPENMP avec une machine équipée de 12 coeurs.
Title: Static compilation analysis for host-accelerator
Abstract: We present an automatic, static program transformation that schedules and generates efficient memory transfers between a computer host and its GPU like hardware accelerator, addressing a well-known performance bottleneck. Our static automatic approach uses two simple heuristics: to perform transfers to the accelerator as early as possible and to delay transfers back from the accelerator as late as possible. In the generated code, redundant communications due to data reuse between kernel executions are avoided. We present experimental results obtained with the Polybench 2.0, some Rodinia benchmarks, and with a real numerical simulation. We obtain an average speedup of 4 to 5 when compared to a naïve parallelization using a modern GPU with PAR4ALL, HMPP, and PGI, and 3.5 when compared to an OPENMP version using a 12-core multiprocessor.

Dates et versions

hal-00826545 , version 1 (27-05-2013)

Identifiants

Citer

Mehdi Amini, Fabien Coelho, François Irigoin, Ronan Keryell. Compilation et optimisation statique des communications hôte-accélérateur. Revue des Sciences et Technologies de l'Information - Série TSI : Technique et Science Informatiques, 2012, 31 (8-10), pp.1205-1232. ⟨10.3166/tsi.31.1205-1232⟩. ⟨hal-00826545⟩
67 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook Twitter LinkedIn More