Parallel Programming with OpenACC is a modern, practical guide to implementing dependable computing systems. The book explains how anyone can use OpenACC to quickly ramp-up application performance using high-level code directives called pragmas. The OpenACC directive-based programming model is designed to provide a simple, yet powerful, approach to accelerators without significant programming effort.
Author Rob Farber, working with a team of expert contributors, demonstrates how to turn existing applications into portable GPU accelerated programs that demonstrate immediate speedups. The book also helps users get the most from the latest NVIDIA and AMD GPU plus multicore CPU architectures (and soon for Intel� Xeon PhiT as well). Downloadable example codes provide hands-on OpenACC experience for common problems in scientific, commercial, big-data, and real-time systems.
Topics include writing reusable code, asynchronous capabilities, using libraries, multicore clusters, and much more. Each chapter explains how a specific aspect of OpenACC technology fits, how it works, and the pitfalls to avoid. Throughout, the book demonstrates how the use of simple working examples that can be adapted to solve application needs.
Table of Contents
Foreword Michael Wolfe 1. From Serial to Parallel Programming using OpenACC Rob Farber 2. Profile-Guided Development with OpenACC Jeff Larkin 3. Profiling Performance of Hybrid Applications with Score-P and Vampir Guido Jukeland 4. Pipelining Data Transfers with OpenACC Jeff Larkin 5. Advanced Data Management Mat Colgrove 6. Tuning OpenACC loop execution Saber Feki 7. Multi Device Programming with OpenACC Jiri Kraus 8. Using OpenACC for Stencil and Feldkamp Algorithms� Sunita Chandrasekaran 9. Accelerating 3D Wave Equations using OpenACC� Ty McKercher 10. The�� Detailed�� Development�� of�� an OpenACC Application Andy Herdman 11. GPU-Accelerated Molecular Dynamics Clustering Analysis with OpenACC John Stone 12. Incrementally accelerating the RI-MP2 correlated method of electronic structure theory using OpenACC compiler directives Janus J. Eriksen 13. Using OpenACC to port large legacy climate and weather modelling code to GPUs Xavier Lapillonne