| Gregory K. , Miller A. - C++ AMP - 2012.pdf | 13.79 MB |
Книги и журналы » Компьютерная литература » Программирование (книги)
C++ AMP
Год: 2012
Автор: Kate Gregory, Ade Miller
Издательство: Microsoft Press
ISBN: 978-0-7356-6473-9
Язык: Английский
Формат: PDF
Качество: Изначально компьютерное (eBook)
Интерактивное оглавление: Да
Количество страниц: 356
Описание:
Capitalize on the faster GPU processors in today’s computers with the C++ AMP code library—and bring massive parallelism to your project. With this practical book, experienced C++ developers will learn parallel programming fundamentals with C++ AMP through detailed examples, code snippets, and case studies. Learn the advantages of parallelism and get best practices for harnessing this technology in your applications.
Discover how to:
• Gain greater code performance using graphics processing units (GPUs)
• Choose accelerators that enable you to write code for GPUs
• Apply thread tiles, tile barriers, and tile static memory
• Debug C++ AMP code with Microsoft Visual Studio®
• Use profiling tools to track the performance of your code
[spoiler="Примеры страниц"]![]()
![]()
[/spoiler]
[spoiler="Оглавление"]
Chapter 1 : Overview and C++ AMP Approach
Why GPGPU? What Is Heterogeneous Computing?
Technologies for CPU Parallelism
The C++ AMP Approach
Summary
Chapter 2 : NBody Case Study
Prerequisites for Running the Example
Running the NBody Sample
Structure of the Example
CPU Calculations
The CPU NBody Classes
C++ AMP Calculations
The C++ AMP NBody Classes
Summary
Chapter 3 : C++ AMP Fundamentals
array
accelerator and accelerator_view
index
extent
array_view
parallel_for_each
Functions Marked with restrict(amp)
Copying between CPU and GPU
Math Library Functions
Summary
Chapter 4 : Tiling
Purpose and Benefit of Tiling
tile_static Memory
tiled_extent
tiled_index
Modifying a Simple Algorithm into a Tiled One
Effects of Tile Size
Choosing Tile Size
Summary
Chapter 5 : Tiled NBody Case Study
How Much Does Tiling Boost Performance for NBody?
Tiling the n-body Algorithm
Using the Concurrency Visualizer
Choosing Tile Size
Summary
Chapter 6 : Debugging
First Steps
GPU Debugging Basics
Seeing Threads
Taking More Control
Summary
Chapter 7 : Optimization
An Approach to Performance Optimization
Analyzing Performance
Optimizing Memory Access Patterns
Optimizing Computation
Summary
Chapter 8 : Performance Case Study—Reduction
The Problem
Case Study Structure
CPU Algorithms
C++ AMP Algorithms
Summary
Chapter 9 : Working with Multiple Accelerators
Choosing Accelerators
Using More Than One GPU
Swapping Data among Accelerators
Dynamic Load Balancing
Braided Parallelism
Falling Back to the CPU
Summary
Chapter 10 : Cartoonizer Case Study
Prerequisites
Running the Sample
Structure of the Sample
The Pipeline
The Pipeline Cartoonizing Stage
Using Multiple C++ AMP Accelerators
Cartoonizer Performance
Summary
Chapter 11 : Graphics Interop
Fundamentals
Using Textures and Short Vectors
HLSL Intrinsic Functions
DirectX Interop
Summary
Chapter 12 : Tips, Tricks, and Best Practices
Dealing with Tile Size Mismatches
Initializing Arrays
Function Objects vs. Lambdas
Atomic Operations
Additional C++ AMP Features on Windows 8
Time-Out Detection and Recovery
Double-Precision Support
Debugging on Windows 7
Additional Debugging Functions
Deployment
C++ AMP and Windows 8 Windows Store Apps
Using C++ AMP from Managed Code
Summary
Appendix : Other Resources
More from the Authors
Microsoft Online Resources
Download C++ AMP Guides
Code and Support
Training
[/spoiler]
| torrent name | size | uploader | age | seed | leech |
|---|---|---|---|---|---|
| 13.8 MB | skydiving666 | 10 years | 0 | 0 |
All Comments