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

и след като знаете името на модула, може би an

rmmod

or

modprobe -r 

Не знам дали това ще работи на OSX.

person Ani    schedule 27.08.2013