Войти
ПрограммированиеФорумГрафика

Nvidia OpenCL problem

#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)

#1

я ничего не понимаю, как еще можно нашаманить и что, дискретки тупо нет даже если запрашивать через CL_DEVICE_TYPE_ALL

12 июня 2018

#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)

#3

так не надо устанавливать всякие вендорские плагины, у меня после установки Cuda SDK отвалился opencl на nvidia, проблема решилась переустановкой графического драйвера

12 июня 2018

#4

MAMOHT-92
Не линкуйся статически, получай все через GetProcAdress/dlsym

12 июня 2018

#5

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

Изображение

12 июня 2018

#6

MAMOHT-92
> 3)поставил CUDA SDK и патч к нему.
Зачем ставить CUDA для opencl ?
Я просто поставил драйвера на интел и на нвидиа.
Для CUDA кстати идет чуть устаревший графический драйвер, если после установки сдк поставить новый драйвер поверх то все будет норм.

12 июня 2018

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