采用OpenCL + NVidia的独家计算模式

lok*_*kli 11 c cuda opencl

我对NVidia + OpenCL的独占计算模式有疑问.

我可以在nvidia-gpu上使用nvidia-smi设置独占计算模式(来自cuda编程指南3.0的第74页).这意味着,只有一个程序可以在gpu上计算.

cuda运行时计划比app自动计划.

但在这种情况下我遇到opencl-programs的问题:如果一个应用程序在具有seted独占计算模式的gpu上运行,而第二个opencl-program调用clGetDeviceInfo(..., CL_DEVICE_AVAILABLE, ...)具有相同的GPU则是result == CL_TRUE.之后如果opencl-app尝试在此设备上创建上下文,则会崩溃正在运行的应用程序(两者).

如何通过OpenCL找到可用的GPU?

谢谢.

exc*_*ray 1

clGetDeviceIds 返回设备数量及其设备 ID。然后您可以检查每个设备是否可用。我不确定它是否能解决崩溃问题。