目 录
[第0章 本书导读0.1 什么是CUDA](https://yq.aliyun.com/articles/90038)0.2 学习CUDA的“须知”0.3 本书的读者对象0.4 学习CUDA的必备0.5 本书的组织结构0.6 本书体例0.7 本书代码0.8 用户指南[0.9 历史沿革参考文献](https://yq.aliyun.com/articles/90059)[第1章 起步1.1 运行CUDA样例程序1.1.1 在Windows下运行CUDA样例程序1.1.2 在Linux下运行CUDA样例程序1.1.3 估计“加速效果”](https://yq.aliyun.com/articles/89954)[1.2 运行我们自己的串行程序1.2.1 dist_v1应用1.2.2 dist_v2应用](https://yq.aliyun.com/articles/89962)1.3 本章小结1.4 推荐项目[第2章 CUDA基础知识2.1 CUDA并行模式 ](https://yq.aliyun.com/articles/89976)2.2 需要知道的CUDA API和C语言拓展2.3 本章小结[2.4 推荐项目参考文献](https://yq.aliyun.com/articles/89986)[第3章 从循环到网格3.1 并行化 dist_v](https://yq.aliyun.com/articles/90003)3.2 并行化dist_v3.3 标准操作流程[3.4 简化操作流程3.4.1 统一内存和托管数组3.4.2 使用cudaMallocManaged()实现的距离应用](https://yq.aliyun.com/articles/90024/)3.5 本章小结[3.6 推荐项目参考文献](https://yq.aliyun.com/articles/90032)第4章 二维网格与交互式图形4.1 启动二维计算网格4.1.1 二维内核启动的语法4.1.2 定义二维内核4.1.3 dist_2d4.2 通过图形交互实时显示4.3 stability应用程序4.4 本章小结4.5 推荐项目参考文献第5章 模板与共享内存5.1 线程间依赖5.2 一维网格上的导数计算5.2.1 实现dd_ld_global5.2.2 实现dd_ld_shared5.2.3 解决二维拉普拉斯方程:heat_2d5.2.4 图像边缘锐化:sharpen5.3 本章小结5.4 推荐项目参考文献第6章 归约与原子操作6.1 全局交互的线程6.2 实现parallel_dot6.3 计算整体属性:centroid_2d6.4 本章小结6.5 推荐项目参考文献第7章 三维数据交互7.1 计算三维网格数据:dist_3d7.2 查看三维数据并与之交互:vis_3d7.2.1 切片法7.2.2 体绘制法7.2.3 光线投射法7.2.4 创建vis_3d应用7.3 本章小结7.4 推荐项目参考文献第8章 CUDA函数库实践8.1 自定义的与现有的8.2 Thrust库8.2.1 使用inner_product()计算向量的模8.2.2 使用transform()计算距离8.2.3 使用generate()、transform()以及reduce()对的值进行估计8.3 cuRAND库8.4 NPP库8.4.1 sharpen_npp8.4.2 更多使用NPP进行的图像处理操作8.5 线性代数中的cuSOLVER和cuBLAS实践8.6 cuDNN库8.7 ArrayFire库8.8 本章小结8.9 推荐项目参考文献第9章 探索CUDA生态系统9.1 主要资源的权威列表9.1.1 CUDA空间9.1.2 其他的主要网络资源9.1.3 在线课程9.1.4 CUDA书籍9.2 更多资源9.2.1 CUDA样例9.2.2 CUDA语言和库9.2.3 更多的CUDA书籍9.3 本章小结9.4 推荐项目附录A 硬件设置附录B 软件设置附录C C语言编程须知附录D CUDA实践技巧:计时、性能分析、错误处理与调试