上QQ阅读APP看书,第一时间看更新
阅读本书的前提
这的确是一本实战性较强的技术书。你应先掌握一定的编程知识,才能更好地阅读本书。准确来说,你应该做到:
● 在Python语言方面具有中级编程经验;
● 熟悉标准的Python科学计算包,例如NumPy、SciPy和Matplotlib;
● 在某种基于C的编程语言(C、C++、Java、Rust、Go等)方面具有中级编程能力;
● 了解C语言动态内存分配的相关概念(尤其要了解C语言中malloc
和free
函数的用法)。
GPU编程主要适用于与科学或数学高度相关的领域,因此本书的很多(即使不是大多数)示例会用到一些数学运算。因此,你应具备大学一年级或二年级的数学知识或了解这部分内容,如下所示:
● 三角学(三角函数,如sin、cos、tan……);
● 微积分(积分、导数和梯度);
● 统计学(均匀分布和正态分布);
● 线性代数(向量、矩阵、向量空间和维数)。
如果你没学过上述内容,或者学完已经有一段时间了,也不用担心,因为本书穿插着介绍了一些关键的编程和数学概念。
此外,在本书中,我们只使用CUDA——它是NVIDIA硬件专有的编程语言。也就是说,在开始之前,你需要准备好以下一些特定的硬件:
● 具有64位x86架构的Intel/AMD处理器的PC;
● 内存容量不低于4GB;
● 入门级NVIDIA GTX 1050 GPU(Pascal架构)或更高级别的GPU。
书中的大多数(并非全部)的示例代码可以在各种配置水平较低的GPU上运行起来,但需要说明的是,我们只在使用GTX 1050的Windows 10操作系统和使用GeForce GTX 1070(简称GTX 1070)的Linux操作系统上进行了测试。关于软硬件的设置和配置的具体说明参见第2章。