В OpenCL, почему у меня есть одна платформа для каждого устройства Intel? - PullRequest
0 голосов
/ 16 мая 2019

Я запускаю OpenCL.Как я понял, платформа - это реализация OpenCL для конкретного поставщика, а устройство - это процессор, который может использоваться платформой.

Я создал простой код C ++, который печатает имя платформыи для каждого из его устройств печатается имя устройства, а его вывод -

Platform 0: Intel(R) OpenCL HD Graphics
    Device 0: Intel(R) Gen9 HD Graphics NEO
Platform 1: Intel(R) CPU Runtime for OpenCL(TM) Applications
    Device 0: Intel(R) Core(TM) i5-6200U CPU @ 2.3GHz

. Мой вопрос: не следует ли ожидать, что два устройства будут работать под одной платформой?Учитывая, что у меня есть ноутбук, а графический процессор интегрирован вместе с процессором.Кроме того, запретит ли это мне назначать устройства с графическим и центральным процессорами в один и тот же контекст?(который я прочитал имеет некоторые преимущества совместного использования памяти)

1 Ответ

0 голосов
/ 17 мая 2019

не следует ожидать, что два устройства будут находиться под одной и той же платформой

Только если поставщик предоставляет платформу с драйверами для обоих этих устройств.Я не уверен, что на платформе Intel "NEO" есть также драйвер ЦП, но я уверен, что "время выполнения ЦП" имеет только драйвер для ЦП, а не iGPU.Вам нужно будет перечислить устройства каждой платформы, чтобы выяснить.

запретит ли мне назначение устройств с графическим и центральным процессорами в один и тот же контекст

Выдолжны перечислить устройства - если у NEO есть оба устройства, то вы можете использовать это.Но вы не можете иметь устройства с разных платформ в одном контексте.

...