Compilers, Techniques, and Tools for Supporting Programming Heterogeneous Many/Multicore Systems
In the last few years, the continuous growth of processors' clock speed has stopped and processor improvements follow a different path by multiplying the number of processing units on a chip. Not only systems for scientific commodity applications but also personal computers include multiple multicore CPUs and GPUs. It is hard to write parallel code or to port existing sequential code to new architectures. It is a costly process requiring skilled developers. This chapter presents, after a brief introduction of different programming models for current many/multicore and GPUs systems, a review of the state of the art of compilers and support tools ...