同一 GPU 上的 OpenCL 和 CUDA 内核

Posted

技术标签:

【中文标题】同一 GPU 上的 OpenCL 和 CUDA 内核【英文标题】:OpenCL and CUDA kernels on same GPU 【发布时间】:2013-04-07 08:44:11 【问题描述】:

我是这项技术的新手。我有一个由 OpenCL 内核和 CUDA 内核组成的应用程序。我想在同一个GPU(特斯拉M2050)上一个接一个地执行OpenCL内核和CUDA内核。可以执行吗?

如果可能的话,我们是否需要处理任何内存管理。? 提前致谢

【问题讨论】:

你的意思是在同一个应用程序中吗? 【参考方案1】:

是的,可以从同一个应用程序运行 OpenCL 内核和 CUDA 内核。每个都有自己的调度程序。内存管理将由 GPU 驱动程序负责。

【讨论】:

OpenCL 和 CUDA 将在不同的 GPU 上下文中运行。 GPU 内存不能共享,因为它们不是 OpenCL CUDA 互操作层。 GPU 将在两个 API 之间执行工作之间进行上下文切换。

以上是关于同一 GPU 上的 OpenCL 和 CUDA 内核的主要内容,如果未能解决你的问题,请参考以下文章

OpenCL:GPU 上的单个计算设备?

是否可以在没有 CUDA/OpenCL 等的情况下使用 GPU 进行光线追踪?

cuda并行程序设计 gpu编程指南

OpenCL

对 nvidia GPU 上的计算单元和预期内核的混淆

在英特尔 iGPU 上测量内核内的时间