7,645
社区成员
发帖
与我相关
我的任务
分享高通工业 IoT 网关 AI 质检任务 7×24 小时运行,长时间后图像预处理 GPU 缓存无法释放,显存持续上涨如何处理?
图像预处理创建的纹理、帧缓冲区未主动销毁,循环推理持续新建资源,无自动回收逻辑,长期运行显存占用线性上涨。
逐帧资源释放逻辑(C++ 图形预处理片段)
void frame_preprocess(){
GLuint texture_buf;
create_gl_texture(&texture_buf, frame_data);
// GPU图像预处理运算
run_gpu_convert(texture_buf);
// 运算完成立刻释放纹理缓存,不等到循环结束
glDeleteTextures(1, &texture_buf);
}
定时全局资源回收:每执行 200 帧推理,主动调用图形 SDK 缓存清理接口,释放闲置显存;
升级配套高通图形 SDK 至稳定版本,修复底层缓存泄漏已知 bug;
控制单批次处理图像数量,禁止一次性送入几十张大图并行预处理,控制显存峰值。