Эксклюзивный режим вычислений с OpenCL + NVidia

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

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

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

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

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

Спасибо.


person lokli    schedule 23.04.2010    source источник
comment
Возможно, это ошибка в реализации OpenCL. попробуйте связаться с nVidia по этому поводу или разместите вопрос на форумах nVidia, где разработчик nVidia может его поднять.   -  person shoosh    schedule 05.05.2010


Ответы (2)


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

person excray    schedule 07.06.2010

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

Он также поддерживает несколько платформ OpenCL. Вы можете выбирать между NVIDIA (только GPU), AMD (GPU и CPU), Intel (CPU) и Apple (GPU и CPU).

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

Я все еще ищу лучший запорный механизм.

person big_gie    schedule 26.07.2011