OpenCL。如何确定哪个计算设备是空闲的并相应地提交作业?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCL。如何确定哪个计算设备是空闲的并相应地提交作业?相关的知识,希望对你有一定的参考价值。

我正在我们机构的GPU群集上运行OpenCL C代码,该群集具有8个节点,每个节点具有一个Intel Xeon 8C proc,该处理器具有3个NVIDIA Tesla M2070 GPU(总共24个GPU)。我需要从主机代码中找到一种方法,以识别哪些GPU已被占用,哪些GPU是免费的,并将我的作业提交给那些可用的GPU。我能找到的最接近的答案是在>>

How to programmatically discover specific GPU on platform with multiple GPUs (OpenCL 1.1)?

How to match OpenCL devices with a specific GPU given PCI vendor, device and bus IDs in a multi-GPU system?

[谁能帮我解决如何选择节点和选择免费用于计算的GPU。我正在用OpenCL C编写。

杰拉德

我正在我们机构的GPU群集上运行OpenCL C代码,该群集具有8个节点,每个节点具有一个Intel Xeon 8C proc,该处理器具有3个NVIDIA Tesla M2070 GPU(总共24个GPU)。我需要从...

答案

对于每个设备都有一个命令队列,然后在每次提交内核时使用OpenCL事件,并在提交新内核以执行之前检查它们的状态。您应该加入的队列中未完成的内核最少。

另一答案

不幸的是,没有标准的方法来做这样的事情。

以上是关于OpenCL。如何确定哪个计算设备是空闲的并相应地提交作业?的主要内容,如果未能解决你的问题,请参考以下文章

OpenCL现在都支持哪些并行设备

OpenCL-2-OpenCL事件

从零开始学习OpenCL开发架构

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

基于Qt的Opencv代码加速

将 OpenCL/CUDA 转换为金属