Concurrency OpenCL多设备命令队列并发问题(NVIDIA)

Concurrency OpenCL多设备命令队列并发问题(NVIDIA),concurrency,opencl,gpu,gpgpu,nvidia,Concurrency,Opencl,Gpu,Gpgpu,Nvidia,我在为不同的设备同时执行clEnqueue*命令时遇到问题。报告第25页说 可以使用单个上下文关联多个队列。 这些队列并行独立运行,没有显式 OpenCL中的机制在它们之间进行同步 但是,根据我的观点,情况显然并非如此。我正在创建一个存储库来展示OpenCL的功能集。我从基础知识到一些更复杂的例子。我不得不提前停止我的进程,因为我注意到,在使用多个commandqueue(每个设备一个)的单线程主机软件中,似乎有一些无法解释的阻塞消除了所有并发。本文提供了更多的细节,但要点是我看到了这一点:

我在为不同的设备同时执行clEnqueue*命令时遇到问题。报告第25页说

可以使用单个上下文关联多个队列。 这些队列并行独立运行,没有显式 OpenCL中的机制在它们之间进行同步

但是,根据我的观点,情况显然并非如此。我正在创建一个存储库来展示OpenCL的功能集。我从基础知识到一些更复杂的例子。我不得不提前停止我的进程,因为我注意到,在使用多个commandqueue(每个设备一个)的单线程主机软件中,似乎有一些无法解释的阻塞消除了所有并发。本文提供了更多的细节,但要点是我看到了这一点:

当我期望看到这样的事情时:

显然,我一直在做OpenCL错误的所有这些时间。。。理想情况下,我想见见某人

  • 指出我做错了什么
  • 在他们的计算机上成功运行我的软件(指向我的环境中的问题)
  • 确认这是英伟达OpenCL 1.1实现和/或Nvidia-34 6版本的LBOpenCL的错误,所以
您可以从中提取我的软件,运行/编译说明在自述文件中目前请尽量留在“简单事件”分支,因为这是我编写典型OpenCL程序的方式。干杯