CUDA Fortran for Scientists and Engineers

Best Practices for Efficient CUDA Fortran Programming

By

  • Gregory Ruetsch, Senior Applied Engineer, NVIDIA
  • Massimiliano Fatica, Manager Tesla HPC Group, NVIDIA

CUDA Fortran for Scientists and Engineers shows how high-performance application developers can leverage the power of GPUs using Fortran, the familiar language of scientific computing and supercomputer performance benchmarking. The authors presume no prior parallel computing experience, and cover the basics along with best practices for efficient GPU computing using CUDA Fortran.

To help you add CUDA Fortran to existing Fortran codes, the book explains how to understand the target GPU architecture, identify computationally intensive parts of the code, and modify the code to manage the data and parallelism and optimize performance. All of this is done in Fortran, without having to rewrite in another language. Each concept is illustrated with actual examples so you can immediately evaluate the performance of your code in comparison.

View full description

Audience

Professional scientists and engineers whose research codes are in Fortran; students studying parallel programming using Fortran.

 

Book information

  • Published: September 2013
  • Imprint: MORGAN KAUFMANN
  • ISBN: 978-0-12-416970-8

Reviews

"This book is written for the Fortran programmer who wants to do real work on GPUs, not just stunts or demonstrations. The book has many examples, and includes introductory material on GPU programming as well as advanced topics such as data optimization, instruction optimization and multiple GPU programming. Placing the performance measurement chapter before performance optimization is key, since measurement drives the tuning and optimization process. All Fortran programmers interested in GPU programming should read this book."--Michael Wolfe, PGI Compiler Engineer




Table of Contents

I CUDA Fortran Programming
 1. Introduction
 2. Performance Measurement and Metrics
 3. Optimization
 4. Multi-GPU Programming
II Case Studies
 5. Monte Carlo Method
 6. Finite Difference Method
 7. Applications of Fast Fourier Transform
III Appendices
 A. Tesla Specifications
 B. System and Environment Management
 C. Calling CUDA C from CUDA Fortran
 D. Source Code