CL_OUT_OF_RESOURCES — Внешний дисплей

Возможная причина ошибки CL_OUT_OF_RESOURCES заключается в том, что карта используется для запуска дисплея (Ref) . Однако я обнаружил, что я продолжаю получать эту ошибку после отключения дисплея, и она сохраняется до тех пор, пока я не перезапущу. Есть ли команда, которая сделает ресурсы OpenCL снова доступными?


person EternalTyro    schedule 26.08.2013    source источник


Ответы (2)


CL_OUT_OF_RESOURCES — распространенная ошибка драйвера nVIDIA. И может быть вызвано:

  1. Реальный из ресурсов (редко)
  2. Чтение массива, который использовался ядром, которое читало/записывало за пределы. (типичный)
  3. Любая другая странная ошибка, не имеющая соответствующего кода ошибки.

Вероятно, вы столкнулись со вторым, поэтому я бы проверил ядра.

РЕДАКТИРОВАТЬ: Как вы сказали, это происходит до перезапуска. Возможно, вы можете проверить, правильно ли вы удаляете все объекты OpenCL. События очень сложны и легко могут привести к утечке памяти OpenCL.

person DarkZeros    schedule 27.08.2013
comment
Хотя я не уверен, что это возможно. Последовательность больше похожа на 1) Подключить монитор, 2) Отключить монитор, 3) Попытаться выделить память. Таким образом, на момент возникновения ошибки ни у одного из моих кодов не было даже шанса утечки памяти. - person EternalTyro; 27.08.2013
comment
Какая функция OpenCL сообщает вам CL_OUT_OF_RESOURCES? - person DarkZeros; 27.08.2013

Сколько памяти пытаетесь выделить, и сколько у карты на борту? Видеокарта, управляющая дисплеем, имеет определенный объем памяти, отведенный для некоторых операций. Драйвер может просто резервировать эту память и не заботиться о том, исчез ли дисплей, пока он не будет перезапущен.

При этом перезапустить видеодрайвер в Windows можно с помощью devcon. В Linux вы можете попробовать

lsmod | grep nvidia

и как только вы узнаете имя модуля, возможно,

rmmod

or

modprobe -r 

Я не знаю, будет ли это работать на OSX.

person Ani    schedule 27.08.2013