[GSD-14035] [BMG/B50] VRAM/RAM leak in the "clCreateFromD3D11Texture2DKHR + clReleaseMemObject" loop (Windows-only)

未关闭
#1,044 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
18/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
cpp
领域
performance

调研方向

The reproducer is the attached repro.cpp, which loops clCreateFromD3D11Texture2DKHR and clReleaseMemObject on a 3840x2160 NV12 D3D11 texture; run ./repro.exe 100000 60 and watch VRAM and RAM in Task Manager. Done means memory returns to baseline after release without the process exiting, which the report says does not happen today. Tracing the driver-side allocation and release path for D3D11 shared surfaces needs deep knowledge of the runtime, so this is not a good first issue.

由索引模型根据 Issue 内容生成。

描述

OS: Windows Type: Bug
Pre-submission Checklist
  • I am using the latest GPU driver version (download center)
  • I have searched for similar issues and found none
GPU Hardware

Intel(R) Arc(TM) Pro B50 Graphics

GPU Detailed Information
PS C:\WINDOWS\system32> Get-WmiObject Win32_VideoController | Where-Object {$_.Name -like "*Intel*"} | Select-Object Name, DriverVersion, DriverDate, VideoProcessor, AdapterRAM, PNPDeviceID | Format-List


Name           : Intel(R) Arc(TM) Pro B50 Graphics
DriverVersion  : 32.0.101.9150
DriverDate     : 20261008000000.000000-000
VideoProcessor : Intel(R) Arc(TM) Pro B50 Graphics Family
AdapterRAM     : 4293918720
PNPDeviceID    : PCI\VEN_8086&DEV_E212&SUBSYS_25221EF7&REV_00\6&186825C4&0&00080009
Driver Installation Details
Windows Build Information
PS C:\WINDOWS\system32> Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer | Format-List


WindowsProductName         : Windows 10 Pro for Workstations
WindowsVersion             : 2009
OsHardwareAbstractionLayer : 10.0.19041.6456
Actual Behavior

VRAM/RAM leak in the clCreateFromD3D11Texture2DKHR + clReleaseMemObject loop.

Expected Behavior

No VRAM/RAM leak in the clCreateFromD3D11Texture2DKHR + clReleaseMemObject loop.

Reproduction Rate

Always reproduces - 100%

Steps to Reproduce
  1. Install driver version 32.0.101.9150
  2. Launch the command-line application ./repro.exe 100000 60
  3. Observe the GPU VRAM and RAM usage in Task Manager or similar monitoring tools
Is this a regression?
  • Yes, this is a regression - functionality that previously worked is now broken
Last Known Working Driver Version

No response

First Known Failing Driver Version

No response

API Call Logs

This issue is a memory leak; it does not involve a crash.

Windows Event Viewer Logs

This issue is a memory leak; it does not involve a crash.

Crash Dumps / Minidumps

This issue is a memory leak; it does not involve a crash.

Source Code / Reproducer
Command Line / Application Details
./repro.exe 100000 60

========================================
D3D11 / OpenCL Interop Leak Reproducer
========================================
Iterations: 100000
Observation period: 60 seconds

D3D11 feature level: 0xb000
Created NV12 texture: 3840x2160
OpenCL device: Intel(R) Arc(TM) Pro B50 Graphics

Starting create/release test...
Completed: 1000 / 100000
Completed: 2000 / 100000
Completed: 3000 / 100000
Completed: 4000 / 100000
Completed: 5000 / 100000
Completed: 6000 / 100000
Completed: 7000 / 100000
Completed: 8000 / 100000
Completed: 9000 / 100000
Completed: 10000 / 100000
Completed: 11000 / 100000
Completed: 12000 / 100000
Completed: 13000 / 100000
Completed: 14000 / 100000
Completed: 15000 / 100000
Completed: 16000 / 100000
Completed: 17000 / 100000
Completed: 18000 / 100000
Completed: 19000 / 100000
Completed: 20000 / 100000
Completed: 21000 / 100000
Completed: 22000 / 100000
Completed: 23000 / 100000
Completed: 24000 / 100000
Completed: 25000 / 100000
Completed: 26000 / 100000
Completed: 27000 / 100000
Completed: 28000 / 100000
Completed: 29000 / 100000
Completed: 30000 / 100000
Completed: 31000 / 100000
Completed: 32000 / 100000
Completed: 33000 / 100000
Completed: 34000 / 100000
Completed: 35000 / 100000
Completed: 36000 / 100000
Completed: 37000 / 100000
Completed: 38000 / 100000
Completed: 39000 / 100000
Completed: 40000 / 100000
Completed: 41000 / 100000
Completed: 42000 / 100000
Completed: 43000 / 100000
Completed: 44000 / 100000
Completed: 45000 / 100000
Completed: 46000 / 100000
Completed: 47000 / 100000
Completed: 48000 / 100000
Completed: 49000 / 100000
Completed: 50000 / 100000
Completed: 51000 / 100000
Completed: 52000 / 100000
Completed: 53000 / 100000
Completed: 54000 / 100000
Completed: 55000 / 100000
Completed: 56000 / 100000
Completed: 57000 / 100000
Completed: 58000 / 100000
Completed: 59000 / 100000
Completed: 60000 / 100000
Completed: 61000 / 100000
Completed: 62000 / 100000
Completed: 63000 / 100000
Completed: 64000 / 100000
Completed: 65000 / 100000
Completed: 66000 / 100000
Completed: 67000 / 100000
Completed: 68000 / 100000
Completed: 69000 / 100000
Completed: 70000 / 100000
Completed: 71000 / 100000
Completed: 72000 / 100000
Completed: 73000 / 100000
Completed: 74000 / 100000
Completed: 75000 / 100000
Completed: 76000 / 100000
Completed: 77000 / 100000
Completed: 78000 / 100000
Completed: 79000 / 100000
Completed: 80000 / 100000
Completed: 81000 / 100000
Completed: 82000 / 100000
Completed: 83000 / 100000
Completed: 84000 / 100000
Completed: 85000 / 100000
Completed: 86000 / 100000
Completed: 87000 / 100000
Completed: 88000 / 100000
Completed: 89000 / 100000
Completed: 90000 / 100000
Completed: 91000 / 100000
Completed: 92000 / 100000
Completed: 93000 / 100000
Completed: 94000 / 100000
Completed: 95000 / 100000
Completed: 96000 / 100000
Completed: 97000 / 100000
Completed: 98000 / 100000
Completed: 99000 / 100000
Completed: 100000 / 100000

========================================
Test finished: 100000 / 100000 iterations.
All create/release operations stopped.
OpenCL Context and D3D11 resources remain alive.
Observation period: 60 seconds.
Observe GPU memory usage now...
========================================
Remaining: 60 seconds
Remaining: 50 seconds
Remaining: 40 seconds
Remaining: 30 seconds
Remaining: 20 seconds
Remaining: 10 seconds

Observation finished. Releasing resources...
All resources released.
Exiting.
oneAPI Version (if applicable)

The issue is OpenCL only.

System Configuration
PS C:\WINDOWS\system32> Get-ComputerInfo | Select-Object CsProcessors, CsTotalPhysicalMemory, CsManufacturer, CsModel | Format-List


CsProcessors          : {AMD Ryzen 7 5700G with Radeon Graphics         }
CsTotalPhysicalMemory : 33686118400
CsManufacturer        : To Be Filled By O.E.M.
CsModel               : To Be Filled By O.E.M.
Screenshots / Video

Leaked VRAM/RAM after running ./repro.exe 100000 60:
Image

Intel System Support Utility Report

igcit_ssu.txt

Additional Notes

I initially thought this was some kind of caching, but even with extended wait times after create/release loop, VRAM/RAM usage doesn't decrease automatically unless the repro.exe program exits.

主要语言
C++
星标
1.5k
派生
306
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

intel/compute-runtime 的其他 Issue

查看 intel/compute-runtime 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。