1

我正在编写一个 CUDA 内核,它从设备内存中获取输入,并使用共享内存中的数据(在内核启动时从设备内存中填充)来产生输出。输出被放置在主机读取的设备中。

我希望这个内核能够连续运行,这样我就不必反复将设备内存中的数据加载到共享内存中。我想到的解决方案是,一旦内核启动,它就会不断检查设备内存的输入。如果输入为 0,则表示没有输入。如果输入为 1,则意味着内核应该停止。对于所有其他输入,内核应该执行计算并返回输出。

我的问题是我从来没有见过一个连续运行并轮询设备内存以获取输入的内核。一个明显的担忧是,如果 GPU 连续运行,这种方法可能会消耗过多的电量。请提供有关此方法的评论/建议。

4

0 回答 0