Как настроить устройство OpenCL на Intel с помощью переменных среды - PullRequest
0 голосов
/ 15 ноября 2018

Я использую код opencl, который автоматически использует nvidia в качестве устройства.

Как я могу изменить это с помощью переменной окружения?

Могу ли я использовать OPENCV_OPENCL_DEVICE?Если это так, что должно быть это значение?

1 Ответ

0 голосов
/ 18 ноября 2018

Это формат:

<'Платформа'>: <'CPU | GPU | ACCELERATOR | nothing = GPU / CPU'>: <'DeviceName or ID'>

asздесь описано: Введение в модуль OpenCL

В моем случае я должен использовать:: GPU: 0 или: GPU: 1

Но идентификаторы не являются детерминированными,поэтому я использую Context, чтобы найти правильный Id:

Context context;context.create (Device :: TYPE_GPU);

for (int i = 0; i < context.ndevices(); ++i)
{
    Device device = context.device(i);

    if (device.name().find("Intel") != string::npos)
    {
        return i;
    }
}
...