3.5_本章小结

3.5 本章小结

我们已经开始编写了CUDAC程序,这个过程比你想象的要更轻松。从本质上来说,CUDAC只是对标准C进行了语言级的扩展,通过增加一些修饰符使我们可以指定哪些代码在

设备上运行,以及哪些代码在主机上运行。在函数前面添加关键字__global__将告诉编译器把该函数放在GPU上运行。为了使用GPU的专门内存,我们还学习了与C的malloc(),memcpy()和free()等API对应的CUDA API。这些函数的CUDA版本,包括CUDAAlloc(),udaMemcpy()以及CUDAFree(),分别实现了分配设备内存,在设备和主机之间复制数据,以及释放设备内存等功能。

在本书的后面还将介绍一些更有趣的示例,这些示例都是关于如何将GPU设备作为一种大规模并行协处理器来使用。现在,你应该知道CUDA C程序的入门阶段是很容易的,在接下来的第4章中,我们将看到在GPU上执行并行代码同样是非常容易的。

第4章

CUDA并行编程

在上一章中,我们看到了使用CUDA C来编写GPU上执行的代码是非常简单的。我们甚至学习了如何将两个数值相加,尽管这两个数值只是2和7。当然,这个示例并没有给我们留下太深的印象,但我们希望通过这个示例使你相信用CUDA C来编写代码是很容易的,并且会激发你去学习更多的知识。GPU计算的应用前景在很大程度上取决于能否从许多问题中发掘出大规模并行性。因此,我们在本章将介绍如何通过CUDA C在GPU上并行执行代码。