我已经阅读了 OpenCL 2.x 管道 API 的描述,并通过khronos.org上的管道 API 页面进行了介绍。我有点嫉妒,几乎完全在 CUDA 中工作,这个漂亮的功能只在 OpenCL 中可用(很抱歉,CUDA 功能没有被 OpenCL 正确包含,但这是一个不同的问题),所以我想我会问“如何来吧 CUDA 没有管道机制”。但后来我意识到我什至不知道这到底意味着什么。所以,相反,我会问:
OpenCL 管道如何在 AMD 独立 GPU / APU 上工作?...
- 什么信息写在哪里?
- 使用管道如何影响内核工作组到内核的调度?
- 管道内核是否一起编译(例如,它们的 SPIR 形式)?
- 管道的使用是否允许通过特定于内核的缓存(OpenCL 术语中的“本地内存”,CUDA 术语中的“共享内存”)在不同内核之间传递数据?那将是真棒。
- 一般来说,管道是否“应该”在 GPU 上工作?即API作者设想甚至写成的东西?
- OpenCL 管道如何在基于 CPU 的 OpenCL 实现中工作?