,

CUDA by Example

An introduction to General-Purpose GPU Programming

Specificaties
Paperback, 312 blz. | Engels
Addison Wesley | 1e druk, 2010
ISBN13: 9780131387683
Rubricering
Hoofdrubriek : Computer en informatica
Addison Wesley 1e druk, 2010 9780131387683
Verwachte levertijd ongeveer 11 werkdagen

Samenvatting

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.

Specificaties

ISBN13:9780131387683
Taal:Engels
Bindwijze:paperback
Aantal pagina's:312
Druk:1

Over Jason Sanders

Jason Sanders is Senior Software Engineer in the CUDA Algorithms group at NVIDIA Corporation, Inc. He received his M.S. in Computer Science from the University of California Berkeley, researching applications for GPU computing, and holds a B.S. in Electrical Engineering from Princeton University. He previously worked at ATI Technologies, Apple and Novell.

Andere boeken door Jason Sanders

Over Edward Kandrot

Edward Kandrot is Senior Software Engineer on the CUDA Algorithms team at NVIDIA. He has more than 20 years of industry experience focused on code performance and optimization. Kandrot has consulted at many companies including Apple and Autodesk, and has worked for Google, Microsoft, Adobe, and other leading companies.

Andere boeken door Edward Kandrot

Inhoudsopgave

Foreword
Preface
Acknowledgments
About the Authors

1. Why CUDA? Why Now?
1.1 Chapter Objectives
1.2 The Age of Parallel Processing
1.3 The Rise of GPU Computing
1.4 CUDA
1.5 Applications of CUDA
1.6 Chapter Review

2. Getting Started
2.1 Chapter Objectives
2.2 Development Environment
2.3 Chapter Review

3. Introduction to CUDA C
3.1 Chapter Objectives
3.2 A First Program
3.3 Querying Devices
3.4 Using Device Properties
3.5 Chapter Review

4. Parallel Programming in CUDA C
4.1 Chapter Objectives
4.2 CUDA Parallel Programming
4.3 Chapter Review

5. Thread Cooperation
5.1 Chapter Objectives
5.2 Splitting Parallel Blocks
5.3 Shared Memory and Synchronization
5.4 Chapter Review

6. Constant Memory and Events
6.1 Chapter Objectives
6.2 Constant Memory
6.3 Measuring Performance with Events
6.4 Chapter Review

7. Texture Memory
7.1 Chapter Objectives
7.2 Texture Memory Overview
7.3 Simulating Heat Transfer
7.4 Chapter Review

8. Graphics Interoperability
8.1 Chapter Objectives
8.2 Graphics Interoperation
8.3 GPU Ripple with Graphics Interoperability
8.4 Heat Transfer with Graphics Interop
8.5 DirectX Interoperability
8.6 Chapter Review

9. Atomics
9.1 Chapter Objectives
9.2 Compute Capability
9.3 Atomic Operations Overview
9.4 Computing Histograms
9.5 Chapter Review

10. Streams
10.1 Chapter Objectives
10.2 Page-Locked Host Memory
10.3 CUDA Streams
10.4 Using a Single CUDA Stream
10.5 Using Multiple CUDA Streams
10.6 GPU Work Scheduling
10.7 Using Multiple CUDA Streams Effectively
10.8 Chapter Review

11. CUDA C on Multiple GPUs
11.1 Chapter Objectives
11.2 Zero-Copy Host Memory
11.3 Using Multiple GPUs
11.4 Portable Pinned Memory
11.5 Chapter Review

12. The Final Countdown
12.1 Chapter Objectives
12.2 CUDA Tools
12.3 Written Resources
12.4 Code Resources
12.5 Chapter Review

Appendix A: Advanced Atomics
A.1: Dot Product Revisited
A.2: Implementing a Hash Table
A.3: Appendix Review

Index

Net verschenen

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        CUDA by Example