- 326 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Parallel Programming with OpenACC
About This Book
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 Phi⢠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.
- Presents the simplest way to leverage GPUs to achieve application speedups
- Shows how OpenACC works, including working examples that can be adapted for application needs
- Allows readers to download source code and slides from the book's companion web page
Frequently asked questions
Information
Table of contents
- Cover image
- Title page
- Table of Contents
- Copyright
- Contributors
- Foreword by Michael Wolfe
- Preface
- Acknowledgments
- Chapter 1: From serial to parallel programming using OpenACC
- Chapter 2: Profile-guided development with OpenACC
- Chapter 3: Profiling performance of hybrid applications with Score-P and Vampir
- Chapter 4: Pipelining data transfers with OpenACC
- Chapter 5: Advanced data management
- Chapter 6: Tuning OpenACC loop execution
- Chapter 7: Multidevice programming with OpenACC
- Chapter 8: Using OpenACC for stencil and Feldkamp algorithms
- Chapter 9: Accelerating 3D wave equations using OpenACC
- Chapter 10: The detailed development of an OpenACC application
- Chapter 11: GPU-accelerated molecular dynamics clustering analysis with OpenACC
- Chapter 12: Incrementally accelerating the RI-MP2 correlated method of electronic structure theory using OpenACC compiler directives
- Chapter 13: Using OpenACC to port large legacy climate and weather modeling code to GPUs
- Index