Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Nvidia OpenCL problem

Nvidia OpenCL problem

MAMOHT-92Постоялецwww12 июня 20180:16#0
Итак, есть ноутбук с интел проц + интел встройка + nvidia 940m.
из среды разработки MS Visual Studio Community 2017.

Хочу писать кроссплатформенный код на OpenCL. В чем проблема: в nvidia блжад.
Итак, что я делал:

вначале поставил Intel SDK для OpenCL, запустил пример по определению девайсов, так же в студии добавился Code Builder, который писал, что у меня есть 3 девайса, OpenCL проц и видюха-встройка и Cuda для nvidia видеокарты и для OpenCL устройств.
Что код, что плагин выводили вменяемые данные для OpenCL устройств(проц+встройка), и что просто есть одно Cuda устройство(дискретка).
Но мне то нужно на нвидии гонять кернелы.
Через какое-то время поставил Nvidia Cuda  SDK, плагин от интела перестал что либо писать про нвидиа видюху, зато нвидиа поставила мне Nsight, который мне показывал, что у меня два OpenCL устройства(проц и встройка) и одно Cuda. Код по определению и выводу свойств девайсов тупо перестал видеть nvidia видяху. Снес Intel SDK, указал все пути в свойствах проекта в NVidia SDK , пересобрал код - та же байда.
Что и как делать?

Изображение

Правка: 12 июня 2018 0:18

MAMOHT-92Постоялецwww12 июня 20181:47#1
я ничего не понимаю, как еще можно нашаманить и что, дискретки тупо нет даже если запрашивать через CL_DEVICE_TYPE_ALL
return [](){};Участникwww12 июня 20182:13#2
Копать, как OpenCL ICD loader подцепляет настоящие драйвера под виндой, небось в реестре надо че-нибудь добавить.
https://www.khronos.org/news/permalink/opencl-installable-client-… er-icd-loader
https://github.com/KhronosGroup/OpenCL-ICD-Loader

Правка: 12 июня 2018 2:13

/A\Постоялецwww12 июня 20188:26#3
так не надо устанавливать всякие вендорские плагины, у меня после установки Cuda SDK отвалился opencl на nvidia, проблема решилась переустановкой графического драйвера
AndreyПостоялецwww12 июня 20189:37#4
MAMOHT-92
Не линкуйся статически, получай все через GetProcAdress/dlsym

MAMOHT-92Постоялецwww12 июня 201811:29#5
/A\
> так не надо устанавливать всякие вендорские плагины, у меня после установки
> Cuda SDK отвалился opencl на nvidia, проблема решилась переустановкой
> графического драйвера
наверно у меня так же произошло. Итак, что я сделал, чтобы что-то заработало:
1)Откатил систему через восстановление
2)снес все старые дрова через DDU
3)поставил CUDA SDK и патч к нему.
4)заодно прогнал процедуру восстановления студии.
Итак, теперь Nsight видит мою 940m и в OpenCL и в CUDA, встроенная видюха исчезла из списков, и так же в тестовом коде. При попытка выбрать оставшийся intel проц выходит краш, а при выборе дискретки - вродь норм. Вот хз, накатывать ли intel sdk или нет.

Изображение

/A\Постоялецwww12 июня 201815:25#6
MAMOHT-92
> 3)поставил CUDA SDK и патч к нему.
Зачем ставить CUDA для opencl ?
Я просто поставил драйвера на интел и на нвидиа.
Для CUDA кстати идет чуть устаревший графический драйвер, если после установки сдк поставить новый драйвер поверх то все будет норм.

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр