Home Page Icon
Home Page
Table of Contents for
Cover image
Close
Cover image
by Rob Farber
Parallel Programming with OpenACC
Cover image
Title page
Table of Contents
Copyright
Contributors
Foreword by Michael Wolfe
Preface
Acknowledgments
Chapter 1: From serial to parallel programming using OpenACC
Abstract
A Simple Data-Parallel Loop
A Simple Task-Parallel Example
Amdahl’s Law and Scaling
Parallel Execution and Race Conditions
Lock-Free Programming
Controlling Parallel Resources
Make Your Life Simple
Chapter 2: Profile-guided development with OpenACC
Abstract
Benchmark Code: Conjugate Gradient
Describe Parallelism
Describe Data Movement
Optimize Loops
Running in Parallel on Multicore
Summary
Chapter 3: Profiling performance of hybrid applications with Score-P and Vampir
Abstract
Performance Analysis Techniques and Terminology
Evolutionary Performance Improvement
A Particle-in-Cell Simulation of a Laser Driven Electron Beam
Preparing the Measurement Through Code Instrumentation
Recording Performance Information During the Application Run
Looking at a First Parallel PIConGPU Implementation
Freeing Up the Host Process
Optimizing GPU Kernels
Adding GPU Task Parallelism
Investigating OpenACC Run Time Events With Score-P and Vampir
Summary
Chapter 4: Pipelining data transfers with OpenACC
Abstract
Introduction to Pipelining
Example Code: Mandelbrot Generator
Pipelining Across Multiple Devices
Conclusions
Chapter 5: Advanced data management
Abstract
Unstructured Data Regions
Aggregate Types With Dynamic Data Members
C++ Class Data Management
Using Global and Module Variables in Routines
Using Device Only Data
Code Examples
Runtime Results
Summary
Chapter 6: Tuning OpenACC loop execution
Abstract
The Loop Construct
Basic Loop Optimization Clauses
Advanced Loop Optimization Clauses
Performance Results
Conclusion
Chapter 7: Multidevice programming with OpenACC
Abstract
Introduction
Three Ways to Program Multiple Devices With OpenACC
Example: Jacobi Solver for the 2D Poisson Equation
Domain Decomposition
Debugging and Profiling
Conclusion
Chapter 8: Using OpenACC for stencil and Feldkamp algorithms
Abstract
Introduction
Experimental Setup
Hybrid OpenMP/OpenACC
Summary
Chapter 9: Accelerating 3D wave equations using OpenACC
Abstract
Introduction
Code Example: Solving 3D Scalar Wave Equation
Converting Stack to Heap
Measuring Host Baseline Scalability
Using OpenACC Tools
Using OpenACC Data Directives
Targeting Multicore Systems With OpenACC
Summary
Chapter 10: The detailed development of an OpenACC application
Abstract
Introducing CloverLeaf
Development Platform: Cray XK6
Development of OpenACC CloverLeaf
Conclusion
Summary
For More Information
Chapter 11: GPU-accelerated molecular dynamics clustering analysis with OpenACC
Abstract
Acknowledgments
Introduction
Overview of MD Clustering Analysis
Hardware Architecture Considerations
Implementation
Performance Results
Summary and Conclusion
Chapter 12: Incrementally accelerating the RI-MP2 correlated method of electronic structure theory using OpenACC compiler directives
Abstract
Acknowledgments
Introduction
Theory
Implementation
Results
Summary and Conclusion
Chapter 13: Using OpenACC to port large legacy climate and weather modeling code to GPUs
Abstract
Introduction
Porting Approach: Step by Step
Performance Optimization
Results for the Radiation Parameterization
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Title page
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset