Надеюсь, это не дубликат, я осмотрелся, но поправьте меня, если я ошибаюсь.
Я недавно установил pyopencl
через Anaconda, и он без проблем работает на моем процессоре Intel.,Однако, когда я звоню:
for platform in get_platforms():
print(platform.name)
ctx = create_some_context()
for dev in ctx.devices:
print(dev.name)
Все, что я получаю, это:
Portable Computing Language
Choose platform:
[0] <pyopencl.Platform 'Portable Computing Language' at 0x7f0ff2205020>
>> 0
Choice [0]:0
Set the environment variable PYOPENCL_CTX='0' to avoid being asked again.
pthread-Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
У меня есть Nvidia GeForce GTX 1050 Ti, и версия драйвера 390.87 с CUDA 9.1, котораядолжно быть совместимо с примечаниями к выпуску Nvidia.Я также использую Linux Mint 19.1 (если это уместно), и я немного новичок, когда дело доходит до этого, поскольку я имею опыт работы по физике, а не по информатике.
Я где-то читал (яне могу вспомнить где), что у меня должен быть файл nvidia.icd, но все, что присутствует, это файл pocl.icd в / home // anaconda3 / etc / OpenCL / vendors, и я не уверен, как / где получить nvidia.icd файл.
Заранее благодарен за любую помощь, и дайте мне знать, если вам нужна дополнительная информация!
Редактировать: добавлен результат get_platforms()
Изменить 2: мне удалось найти файл nvidia.icd
в моем каталоге /etc/OpenCL/vendors
.Я скопировал это в каталог Anaconda, /home/<user>/anaconda3/etc/OpenCL/vendors
и pyopencl
теперь распознают Nvidia CUDA
как платформу, а мой GPU - как устройство.
К сожалению, он все еще загружает задачи вПроцессор, но есть хороший шанс, что из-за моего кода, и я еще не понял, как создать контекст на GPU.