Я хочу додати деяку підтримку OpenCL до Chromium, тому я використовував такі API clCreateCommandQueue()
, але я не можу знайти належне місце в Chromium, щоб зробити прибирання.
Отже, якщо я не закликаю такі API clReleaseCommandQueue()
, чи поверне ОС оперативну пам'ять після закінчення процесу? Або мені потрібно викликати це в точці виходу процесу?
PS, Командна команда потрібна протягом усього життя процесу, тому я просто хочу переконатися, що це не спричинить витік пам'яті після закінчення процесу.
Дякую за допомогу.
Відповіді:
2 для відповіді № 1Оскільки, в кінцевому рахунку, всі об’єкти OpenCL утримуються драйвером пристрою, ви не можете очікувати, що вони будуть автоматично випущені після закінчення програми. Це завжди ваша робота.
0 для відповіді № 2
Якщо ви використовуєте обгортку OpenCL C ++ (cl.hpp), тоді компілятор з’ясує, де очистити ваші об’єкти (коли посилається об’єкт виходить за межі області).