2010-04-23 5 views
11

У меня вопрос к эксклюзивному вычислительному режиму с NVidia + OpenCL.Эксклюзивный вычислительный режим с OpenCL + NVidia

Я могу настроить эксклюзивный вычислительный режим (стр. 74 из руководства по программированию cuda 3.0) с nvidia-smi на nvidia-gpu. это означает, что только одна программа может вычислять на gpu.

cuda сроки выполнения, чем приложение автоматически.

, но у меня есть проблема с OpenCL-программами в этом случае: если одно приложение работает на ГПЕ выставиться монопольным режимом вычислений и вторым OpenCL-программой вызывает clGetDeviceInfo (..., CL_DEVICE_AVAILABLE, ...) с тот же GPU является результатом == CL_TRUE. После этого, если opencl-app попытается создать контекст на этом устройстве, чем сработает запущенное приложение (оба).

Как я могу найти доступный графический процессор с OpenCL?

Спасибо.

+0

Возможно, это ошибка в реализации OpenCL. попробуйте связаться с nVidia или задать вопрос на форумах nVidia, где разработчик nVidia может его забрать. – shoosh

ответ

1

clGetDeviceIds возвращает количество устройств и их идентификаторы устройств. Затем вы можете проверить, доступно ли каждое из устройств или нет. Я не уверен, что это решит проблему.

0

У меня была аналогичная проблема, когда я хотел найти лучшее устройство OpenCL в списке. Я не мог найти решение, поэтому сам написал. Он попытается создать контекст на устройстве. Если он не может, он попробует следующий.

Он также поддерживает несколько платформ OpenCL. Вы можете выбирать между nvidia (только gpu), amd (gpu & cpu), intel (cpu) и apple (gpu & cpu).

Вы можете найти его на GitHub: https://github.com/nbigaouette/oclutils/

Я до сих пор ищет лучший механизм блокировки, хотя.

Смежные вопросы