解释intel_gpu_top输出

Rob*_*gar 16 gpu intel

任何人都可以对输出有所了解intel_gpu_top吗?具体来说,什么是任务GAM,VS等(手册页没什么帮助.)

比特流忙什么意思?它似乎总是零......

               render busy:  45%: ?????????                              render space: 83/131072
            bitstream busy:   0%:                                     bitstream space: 0/131072
              blitter busy:   0%:                                       blitter space: 0/131072

                      task  percent busy
                       GAM:  43%: ?????????               vert fetch: 0 (0/sec)
                        VS:  35%: ???????                 prim fetch: 0 (0/sec)
                        CL:  33%: ???????              VS invocations: 2101845324 (1427552/sec)
                        SF:  33%: ???????              GS invocations: 0 (0/sec)
                        VF:  33%: ???????                   GS prims: 0 (0/sec)
                      GAFS:  33%: ???????              CL invocations: 701123988 (475776/sec)
                       SOL:  32%: ???????                   CL prims: 701708489 (475888/sec)
                        GS:  32%: ???????              PS invocations: 1254669239424 (116548992/sec)
                        DS:  32%: ???????              PS depth pass: 604287310764 (222384008/sec)
                       TDG:   2%: ?                    
                      URBM:   2%: ?                    
                      GAFM:   1%: ?                    
                        HS:   0%:                      
                       SVG:   0%:                      
                       VFE:   0%:                      
Run Code Online (Sandbox Code Playgroud)

F.X*_*.X. 19

我也很好奇,所以这里有一些我可以从参考手册中获取的东西.同样令人感兴趣的是intel-gpu-tools源,特别是lib/instdone.c它描述了所有英特尔GPU型号中可能出现的内容.这个补丁在翻译所有这些首字母缩写词时也非常有帮助!

有些可能是错的,如果有更多知识渊博的人可以加入,我会喜欢它!当我学习这些东西时,我会回来更新答案.

首先,右边三行:

  • 渲染空间可能是使用常规的3D操作.
  • 位流段是指BSD(比特流解码器),它处理用于媒体解码硬件加速.它虽然没有出现在我的GPU上(Skylake HD 530),但它可能无法在任何地方启用/显示.
  • 阻击器在卷中描述.11并且似乎负责2D操作的硬件加速(blitting).

固定功能(FF)管道单元(老式GPU功能):

  • VF:Vertex Fetcher(第1卷),3D Pipeline中的第一个FF单元,负责从内存中获取顶点数据.
  • VS:Vertex Shader(第1卷),计算GPU绘制的每个基元的顶点上的内容.在GPU上非常标准的操作.
  • HS:船体着色器
  • TE:曲面细分引擎
  • DS:域着色器
  • GS:几何着色器
  • SOL:流输出逻辑
  • CL:剪辑单元
  • SF:Strips and Fans(vol.1),FF单元,其主要功能是将原始拓扑(如条带和扇形)分解为基元或对象.

用于线程和流水线管理的单元,用于FF单元和GPGPU(有关如何工作的大量信息,请参阅" 英特尔开源高清图形程序员手册 " ):

  • CS:Command Streamer(vol.1),图形处理引擎的功能单元,它获取命令,解析它们,并将它们路由到适当的管道.
  • TDG:线程调度程序
  • VFE:视频前端
  • TSG:Thread Spawner
  • URBM:统一返回缓冲区管理器

其他的东西 :

  • GAM:请参阅GFX Page Walker(第5卷),也称为Memory Arbiter,与GPU如何跟踪其内存页面有关,看起来与TLB(另请参阅SLAT)对RAM的作用非常相似.
  • SDE:南方显示引擎 ; 根据第一卷.12,"南方显示引擎支持热插拔检测,GPIO,GMBUS,面板电源排序和背光调制".

  • 比特流与英特尔的快速同步相关,即视频的硬件解码器/编码器.为什么?在我的HD3000(附带i3-3217U)卡上,使用最新的ffmpeg(3.4.2,启用VAAPI以利用英特尔的快速同步),当使用CPU对1080p H264视频进行基准解码时,它大约是180 fps,"比特流"数字是所有内核的CPU使用率几乎都是100%.切换到GPU硬件解码器,fps将在350左右,"比特流"数量将上升,但CPU使用率相当低. (2认同)