CUDA Programming: A Developer's Guide to Parallel Computing with GPUsNewnes, 28 груд. 2012 р. - 600 стор. If you need to learn CUDA but don't have experience with parallel computing, CUDA Programming: A Developer's Introduction offers a detailed guide to CUDA with a grounding in parallel fundamentals. It starts by introducing CUDA and bringing you up to speed on GPU parallelism and hardware, then delving into CUDA installation. Chapters on core concepts including threads, blocks, grids, and memory focus on both parallel and CUDA-specific issues. Later, the book demonstrates CUDA in practice for optimizing applications, adjusting to new hardware, and solving common problems.
|
З цієї книги
Результати 1-5 із 87
Сторінка 6
... byte, with 3 bytes representing the color of a single pixel. Let's suppose we want to reduce the blue level to zero. Let's assume the memory is configured in three banks of red, blue, and green, rather than being interleaved. With a ...
... byte, with 3 bytes representing the color of a single pixel. Let's suppose we want to reduce the blue level to zero. Let's assume the memory is configured in three banks of red, blue, and green, rather than being interleaved. With a ...
Сторінка 7
... byte at a time. AVX extends this to 256 bits, making it even more effective. For a high-definition (HD) video image of 1920 Â 1080 resolution, the data size is 2,073,600 bytes, or around 2 MB per color plane. Thus, we generate around ...
... byte at a time. AVX extends this to 256 bits, making it even more effective. For a high-definition (HD) video image of 1920 Â 1080 resolution, the data size is 2,073,600 bytes, or around 2 MB per color plane. Thus, we generate around ...
Сторінка 8
... byte, decrements it, and writes its bit back to its local memory. When all SPEs are done, the PC core fetches the data from each SPE. It then writes its chunk of data (or tile) to the memory area where the whole image is being assembled ...
... byte, decrements it, and writes its bit back to its local memory. When all SPEs are done, the PC core fetches the data from each SPE. It then writes its chunk of data (or tile) to the memory area where the whole image is being assembled ...
Сторінка 39
... byte) wide vector operations. It's a very interesting development and something that can be used to considerably speed up computebound applications on the CPU. Notice, however, the big downside of socket 1155 Sandybridge design: It ...
... byte) wide vector operations. It's a very interesting development and something that can be used to considerably speed up computebound applications on the CPU. Notice, however, the big downside of socket 1155 Sandybridge design: It ...
Сторінка 49
... byte aligned. • The number of shared memory banks increased from 16 to 32. Let's look at the implications of some of these changes in detail. First, let's pick up on the introduction of the L1 cache and what this means. An L1 (level one) ...
... byte aligned. • The number of shared memory banks increased from 16 to 32. Let's look at the implications of some of these changes in detail. First, let's pick up on the introduction of the L1 cache and what this means. An L1 (level one) ...
Зміст
Chapter 8 MultiCPU and MultiGPU Solutions | 267 |
Chapter 9 Optimizing Your Application | 305 |
Chapter 10 Libraries and SDK | 441 |
Chapter 11 Designing GPUBased Systems | 503 |
Chapter 12 Common Problems Causes and Solutions | 527 |
Index | 565 |
Інші видання - Показати все
CUDA Programming: A Developer's Guide to Parallel Computing with GPUs Shane Cook Обмежений попередній перегляд - 2012 |
Загальні терміни та фрази
256 threads algorithm allocate application array atomic atomic operations blockDim.x blockIdx.x bytes calculation compiler compute 2.x const int const u32 constant memory copy CUDA CALL cuda CUDA cores dataset device device_num elements example execution Fermi Figure function GB/s GeForce GTX 470:GMEM global memory GMEM hardware host memory ID:0 GeForce GTX InfiniBand instruction issue iterations Kepler kernel L1 cache latency Linux look loop malloc Memcpy memory access memory bandwidth memory fetch merge sort node num_elem num_elements num_threads number of blocks number of threads NVIDIA OpenMP operation optimization output Parallel Nsight parameter PCI-E performance pointer prefix sum problem processor radix sort reduce registers result serial shared memory SIMD simply single SP SP SP speedup stream synchronization Tesla threadIdx.x threads per block transfer typically uint4 unsigned int usage version is faster void warp write þ¼