Возможная причина ошибки CL_OUT_OF_RESOURCES заключается в том, что карта используется для запуска дисплея (Ref) . Однако я обнаружил, что я продолжаю получать эту ошибку после отключения дисплея, и она сохраняется до тех пор, пока я не перезапущу. Есть ли команда, которая сделает ресурсы OpenCL снова доступными?
CL_OUT_OF_RESOURCES — Внешний дисплей
Ответы (2)
CL_OUT_OF_RESOURCES — распространенная ошибка драйвера nVIDIA. И может быть вызвано:
- Реальный из ресурсов (редко)
- Чтение массива, который использовался ядром, которое читало/записывало за пределы. (типичный)
- Любая другая странная ошибка, не имеющая соответствующего кода ошибки.
Вероятно, вы столкнулись со вторым, поэтому я бы проверил ядра.
РЕДАКТИРОВАТЬ: Как вы сказали, это происходит до перезапуска. Возможно, вы можете проверить, правильно ли вы удаляете все объекты OpenCL. События очень сложны и легко могут привести к утечке памяти OpenCL.
Сколько памяти пытаетесь выделить, и сколько у карты на борту? Видеокарта, управляющая дисплеем, имеет определенный объем памяти, отведенный для некоторых операций. Драйвер может просто резервировать эту память и не заботиться о том, исчез ли дисплей, пока он не будет перезапущен.
При этом перезапустить видеодрайвер в Windows можно с помощью devcon. В Linux вы можете попробовать
lsmod | grep nvidia
и как только вы узнаете имя модуля, возможно,
rmmod
or
modprobe -r
Я не знаю, будет ли это работать на OSX.