CUDA by Example

CUDA by Example

Jason Sanders







"This book is required reading for anyone working with accelerator-based computing systems." --From the Foreword by Jack Dongarra, University of Tennessee and Oak Ridge National Laboratory CUDA is a computing architecture designed to facilitate the development of parallel programs. In conjunction with a comprehensive software platform, the CUDA Architecture enables programmers to draw on the immense power of graphics processing units (GPUs) when building high-performance applications. GPUs, of course, have long been available for demanding graphics and game applications. CUDA now brings this valuable resource to programmers working on applications in other domains, including science, engineering, and finance. No knowledge of graphics programming is required--just the ability to program in a modestly extended version of C. CUDA by Example, written by two senior members of the CUDA software platform team, shows programmers how to employ this new technology. The authors introduce each area of CUDA development through working examples. After a concise introduction to the CUDA platform and architecture, as well as a quick-start guide to CUDA C, the book details the techniques and trade-offs associated with each key CUDA feature. You'll discover when to use each CUDA C extension and how to write CUDA software that delivers truly outstanding performance. Major topics covered include *Parallel programming*Thread cooperation*Constant memory and events*Texture memory*Graphics interoperability*Atomics*Streams*CUDA C on multiple GPUs*Advanced atomics*Additional CUDA resources All the CUDA software tools you'll need are freely available for download from NVIDIA.

Jason Sanders是NVIDIA公司CUDA平台小组的高级软件工程师。他在NVIDIA的工作包括帮助开发早期的CUDA系统软件,并参与OpenCL 1.0规范的制定,该规范是一个用于异构计算的行业标准。Jason在加州大学伯克利分校获得计算机科学硕士学位,他发表了关于GPU计算的研究论文。此外,他还获得了普林斯顿大学电子工程专业学士学位。在加入NVIDIA公司之前,他曾在ATI技术公司、Apple公司以及Novell公司工作过。

Edward Kandrot是NVIDIA公司CUDA算法小组的高级软件工程师。他在代码优化和提升性能等方面拥有20余年的工作经验,参与过Photoshop和Mozilla等项目。Kandrot曾经在Adobe公司、Microsoft公司工作过,他还是许多公司的咨询师,包括Apple公司和Autodesk公司。

Introduction to CUDA GPU parallel programming, only introduction. Most examples for GPU are compared to those for CPU.
Just the beginning .
挺适合初学者通读。 缺少整体的架构,不适合进一步。
N 年前看过,笔记做的非常仔细,但之后一直没什么机会用 CUDA,导致忘得差不多了;重温了一遍,书里例子比较多,比较适合快速上手。
这本书简短,但是过一遍里面的cuda代码,基本能理解cuda的一些概念:block/threads,shared memory,const memeory, zero copy.....