![]()
内容推荐 本书旨在引导读者基于Python和CUDA的GPU编程开发高性能的应用程序,先后介绍了为什么要学习GPU编程、搭建GPU编程环境、PyCUDA入门等内容,以及CUDA代码的调试与性能分析、通过Scikit-CUDA模块使用CUDA库、实现深度神经网络、CUDA性能优化等内容。学完上述内容,读者应能从零开始构建基于GPU的深度神经网络,甚至能够解决与数据科学和GPU编程高性能计算相关的问题。 本书适合对GPU编程与CUDA编程感兴趣的读者阅读。读者应掌握必要的基本数学概念,且需要具备一定的Python编程经验。 作者简介 布莱恩·图奥迈宁,自2014年以来,Brian Tuomanen博士一直从事CUDA和通用GPU编程方面的工作。他在美国西雅图华盛顿大学(University of Washington)获得了电气工程专业的学士学位,在攻读数学专业的硕士学位之前,从事过软件工程方面的工作。后来,他在哥伦比亚的密苏里大学攻读数学博士学位,在那里与GPU编程“邂逅”——GPU编程当时主要用于研究科学问题。Tuomanen博士曾经在美国陆军研究实验室就通用GPU编程发表演讲,后来在美国马里兰州的一家初创公司负责GPU集成和开发方面的工作。目前,他在西雅图担任微软的机器学习专家(Azure CSI)。 目录 第1章 为什么要学习GPU编程 1.1 技术要求 1.2 并行化与阿姆达尔定律 1.2.1 使用阿姆达尔定律 1.2.2 Mandelbrot集 1.3 对代码进行性能分析 1.4 小结 1.5 习题 第2章 搭建GPU编程环境 2.1 技术要求 2.2 确保拥有合适的硬件 2.2.1 检查硬件(Linux系统) 2.2.2 检查硬件(Windows系统) 2.3 安装GPU驱动程序 2.3.1 安装GPU驱动程序(Linux系统) 2.3.2 安装GPU驱动程序(Windows系统) 2.4 搭建C++编程环境 2.4.1 设置GCC、Eclipse IDE和图形处理库(Linux系统) 2.4.2 设置Visual Studio(Windows系统) 2.4.3 安装CUDA Toolkit 2.5 为GPU编程设置Python环境 2.5.1 安装PyCUDA(Linux系统) 2.5.2 创建环境启动脚本(Windows系统) 2.5.3 安装PyCUDA(Windows系统) 2.5.4 测试PyCUDA 2.6 小结 2.7 习题 第3章 PyCUDA入门 3.1 技术要求 3.2 查询GPU 3.3 使用PyCUDA的gpuarray类 …… 第4章 内核函数、线程、线程块与网格 第5章 流、事件、上下文与并发性 第6章 CUDA代码的调试与性能分析 第7章 通过Scikit-CUDA模块使用CUDA库 第8章 CUDA设备函数库与Thrust库 第9章 实现深度神经网络 第10章 应用编译好的GPU代码 第11章 CUDA性能优化 第12章 未来展望 习题提示 |