"); //-->
3500/25 149369-01 不存在硬件支持时实现分支
在顺序代码中,可以使用if-then-else语句和各种形式的循环来控制程序流。这种流量控制结构最近才被添加到GPU中。[35]条件写入可以使用一系列精心制作的算术/位操作来执行,但循环和条件分支是不可能的。
最新的GPU允许分支,但通常会有性能损失。无论是在CPU还是GPU代码中,一般都应该在内部循环中避免分支,各种方法,如静态分支解析、预计算、预测、循环分裂、[36]和Z剔除[37]可用于在不存在硬件支持时实现分支。
GPU方法[编辑]地图[编辑]map操作简单地将给定的函数(内核)应用于流中的每个元素。一个简单的例子是将流中的每个值乘以一个常数(增加图像的亮度)。在GPU上实现贴图操作很简单。程序员为屏幕上的每个像素生成一个片段,并将片段程序应用于每个像素。相同大小的结果流存储在输出缓冲区中。
减少[编辑]一些计算需要从较大的流中计算较小的流(可能只有一个元素的流)。这被称为流的缩减。通常,还原可以分多个步骤进行。来自前一步骤的结果被用作当前步骤的输入,并且应用该操作的范围被减小,直到只剩下一个流元素。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。