欢迎光临散文网 会员登陆 & 注册

小城二虎深入理解 GPU 计算: CUDA 编程指南

2023-05-19 20:50 作者:戰億殇  | 我要投稿

编写GPU函数以执行计算

为了说明GPU编程,这个应用程序将两个数组的相应元素添加到一起,将结果写入第三个数组。清单1显示了一个在CPU上执行此计算的函数,用C语言编写。它循环遍历索引,计算循环的每次迭代一个值。

清单1数组添加,用C编写

const ****float *** p是指p是常量指针,指向float常量或者变量,但是可以改变指向;float *** **const **p 代表p可以指向变量,但是声明指定后就不能再改变

每个值都是独立计算的,因此可以同时安全地计算这些值。要在GPU上执行计算,需要在金属着色语言(MSL)中重写此功能。MSL是为GPU编程而设计的C ++的变体。在Metal中,在GPU上运行的代码称为着色器,因为历史上它们首先用于计算3D图形中的颜色。清单2显示了MSL中的着色器,它执行与清单1相同的计算。项目在文件中定义了此函数。Xcode构建应用程序目标中的所有文件,并创建一个默认的Metal库,它嵌入到您的应用程序中。将在本示例的后面看到如何加载默认库。 


小城二虎深入理解 GPU 计算: CUDA 编程指南的评论 (共 条)

分享到微博请遵守国家法律