Programming for Hybrid Multi/Many-core MPP Systems
Chapman and Hall/CRC – 2012 – 300 pages
This book addresses the significant challenge in designing applications to effectively use high-performance computing architectures and offers methods to more effectively restructure applications to take advantage of these powerful nodes. The authors discuss the benefit of vectorization, providing examples run on current accelerators. They also explore issues with data locality when threading on the nodes and examine the accelerator in detail. The book describes programming environments for hybrid multicore systems, from the low level OpenCL and Cuda languages to new directive-based accelerator compilers.
Introduction. What Is a Hybrid Multicore MPP System? Hardware Aspects of How Accelerators Are Attached to the MPP Node. Ways of Using the Accelerators. Communication between Hybrid Multicore Nodes. Compiler’s Role in Producing Efficient Accelerator Code. Analyzing the Performance on the Accelerator. Writing Efficient Fortran and C for Acceleration. Using the Host and Accelerator Together. Looking at Kernels. Application Case Studies. Conclusions.