Experiences with Achieving Portability across Heterogeneous Architectures

Lukasz G. Szafaryn, Todd Gamblin, Bronis R. de Supinski, Kevin Skadron
University of Virginia
Proceedings of the Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC), 2011


   title={Experiences with Achieving Portability across Heterogeneous Architectures},

   author={Szafaryn, L.G. and Gamblin, T. and de Supinski, B.R. and Skadron, K.},



Download Download (PDF)   View View   Source Source   



The increasing computational needs of parallel applications inevitably require portability across popular parallel architectures, which are becoming heterogeneous. The lack of a common parallel framework results in divergent code bases, difficulty in porting, higher maintenance cost, and, thus difficulty achieving optimal performance on target architectures. Our paper examines two representative parallel applications and describes code structuring and annotations required to derive a single codebase that is parallelizable across representative heterogeneous architectures, such as multi-core CPU and GPU. Drawing on previous work in the area, we create a universal highlevel directive-based framework that supports both of these architectures, and implements execution on each via translation to OpenMP and PGI Accelerator API, respectively. We demonstrate that a high-level framework can support a common codebase that efficiently executes on heterogeneous architectures. Our results show that when combined with a stateof-the-art parallelizing compiler, such framework can yield performance comparable to custom code or a native language. Further, we show that the approach increases programmability, reduces code size and decreases maintenance cost.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: