本文章深入探讨了利用NVIDIA CUDA技术进行高性能计算的实际案例,详细解析了如何通过并行处理提升计算效率与性能。
《GPU高性能计算之CUDA》是GPU高性能计算系列丛书的第一本,由张舒、褚艳利、赵开勇及张钰勃编写。本书不仅详细介绍了CUDA的软硬件架构以及C for CUDA程序开发与优化策略,并且提供了大量的实例供读者参考学习。
以下为书中各章节对应的示例列表:
- ACsearch_DPPcompact_with_driver:AC多模式匹配算法(第5章2.2节)
- asyncAPI:异步API调用示例(第2章5节)
- bandwidthTest:带宽测试(第2章3.6节)
- Bitonic:双调排序网络(第5章1.1节)
- conjugateGradient:共轭梯度算法,采用CUBLAS实现
- cudaMPI:CUDA+MPI管理GPU集群(第2章7.3节)
- cudaOpenMP:CUDA+OpenMP管理多GPU(第2章7.2节)
- deviceQuery:设备查询(第2章1.4节)
- histKernel:亮度直方图统计(第2章4.3节)
- matrixAssign:矩阵赋值
- matrixMul:利用共享内存实现的矩阵乘法(第4章7.1节)
- matrixMul_Berkeley:采用寄存器减少技术实现的矩阵乘法(第4章7.1节)
- reduction:并行归约程序示例(第4章7.2节)
- scan:Scan算法,如前缀和计算(第5章1.2节)
- scanLargeArray:能够处理大数组的Scan算法
- simpleCUBLAS:简单应用CUBLAS库
- simpleCUFFT:简单使用CUFFT库示例
- simpleD3D9、simpleD3D10:CUDA与Direct3D 9和10互操作(第2章6.2节)
- simpleGL:CUDA与OpenGL互操作(第2章6.1节)
- simpleMultiGPU:多设备控制演示
- simpleStreams:流的使用示例展示
- simpleTexture、simpleTextureDrv:简单的纹理用法,后者采用驱动API实现
- sortingNetworks:处理大数组的双调排序网络算法
- threadMigration:通过上下文和设备管理功能支持多设备并行计算(第2章7.1节)
- timing:设备端计时程序示例(第4章2.1节)
- transpose、transposeDiagonal:矩阵转置,后者考虑了分区冲突问题
- VectorAdd、VectorAddDrv:矢量加法操作及其驱动API实现版本