On the Effectiveness of OpenMP teams for Programming Embedded Manycore Accelerators
Universit’a di Bologna
Workshop on Software Development Environments for High-Performance Computing (DEHPC ’15), 2015
@article{capotondi2015effectiveness,
title={On the Effectiveness of OpenMP teams for Programming Embedded Manycore Accelerators},
author={Capotondi, Alessandro and Marongiu, Andrea},
year={2015}
}
With the introduction of more powerful and massively parallel embedded processors, embedded systems are becoming HPC capable. In particular heterogeneous on-chip systems (SoC) that couple a general-purpose host processor to a many-core accelerator are becoming more and more widespread, and provide tremendous peak performance/watt, well suited to execute HPC-class programs. The increased computation potential is however traded off for ease programming. Application developers are indeed required to manually deal with outlining code parts suitable for acceleration, parallelize there efficiently over many available cores, and orchestrate data transfers to/from the accelerator. In addition, since most manycores are organized as a collection of clusters, featuring fast local communication but slow remote communication (i.e., to another cluster’s local memory), the programmer should also take care of properly mapping the parallel computation so as to avoid poor data locality. OpenMP v4.0 introduces new constructs for computation offloading, as well as directives to deploy parallel computation in a cluster-aware manner. In this paper we assess the effectiveness of OpenMP v4.0 at exploiting the massive parallelism available in embedded heterogeneous SoCs, comparing to standard parallel loops over several computation-intensive applications from the linear algebra and image processing domains.
November 8, 2015 by hgpu