【问题标题】:Can I allocate device memory using OpenCL and use pointers to the memory in CUDA?我可以使用 OpenCL 分配设备内存并在 CUDA 中使用指向内存的指针吗?
【发布时间】:2015-01-10 23:17:36
【问题描述】:

假设我使用 OpenCL 来管理内存(因此 GPU/CPU 之间的内存管理使用相同的代码),但我的计算使用优化的 CUDA 和 CPU 代码(不是 OpenCL)。我还能使用 OpenCL 设备内存指针并将它们传递给 CUDA 函数/内核吗?

【问题讨论】:

  • 一言以蔽之,你不能

标签: c++ memory cuda opencl


【解决方案1】:

AFAIK 这是不可能的,但没有技术上的原因你不应该这样做。

NVIDIA 可以构建 OpenCL API 扩展以与 CUDA 互操作,就像 Direct3D 和 OpenGL 的互操作性规定一样。

【讨论】:

    【解决方案2】:

    由于 CUDA 和 OpenCL 都可以与 OpenGL 互操作,因此您可以将其作为中间地带进行探索。我成功地能够从 OpenCL(作为图像)和 CUDA 访问相同的 OpenGL 纹理,因此您可能能够对数据缓冲区执行相同的操作(我不确定 OpenGL 表示会是什么) .

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      相关资源
      最近更新 更多