A survey on hardware-aware and heterogeneous computing on multicore processors and accelerators
In the last few years, the landscape of parallel computing has been subject to profound and highly dynamic changes. The paradigm shift towards multicore and manycore technologies coupled with accelerators in a heterogeneous environment is offering a great potential of computing power for scientific and industrial applications. However, for one to take full advantage of these new technologies, holistic approaches coupling the expertise ranging from hardware architecture and software design to numerical algorithms are a pressing necessity. Parallel computing is no longer limited to supercomputers and is now much more diversified with a multitude of technologies, architectures, and programming approaches leading to increased complexity for developers and engineers. In this work, we give - from the perspective of numerical simulation and applications - an overview of existing and emerging multicore and manycore technologies as well as accelerator concepts. We emphasize the challenges associated with high-performance heterogeneous computing and discuss the interfaces needed to fill the gap between the hardware architecture and the implementation of efficient numerical algorithms. By means of this short survey - which stresses the necessity of hardware-aware computing - we aim at giving assistance to users in scientific computing entering this fascinating field and help understanding associated issues and capabilities. Copyright (C) 2011 John Wiley & Sons, Ltd.
heterogeneity accelerators numerical simulation hardware-aware computing multicore and manycore processors parallel programming