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