GPUPerfStudio 现在支持 Vulkan™
GPU PerfStudio 3.6 增加了对 Windows 和 Linux 上 Vulkan 应用程序的高级 CPU/GPU 分析的支持。主要有三个工具
- API 追踪
- GPU Trace (GPU 跟踪)
- Linked Trace (链接跟踪)
API 追踪
API Trace (API 跟踪) 显示应用程序的 CPU 端活动。

顶部窗格显示活动 CPU 线程的行,以及每个线程发出的所有 API 调用。将鼠标悬停在每个调用上都会弹出一个带有计时信息的工具提示。此窗格还可以通过按住左键并在其上拖动来轻松向左/右移动。还可以使用鼠标滚轮进行放大和缩小。
底部窗格为每个 CPU 线程显示一个选项卡,其中每个选项卡包含该线程发出的所有 API 调用的列表。在这里还可以找到每个 API 调用的函数参数和返回结果。
用户还可以双击任一窗格中的 API 调用,以突出显示另一窗格中的相应调用。打开后,可以通过多次按 API Trace 按钮来刷新计时数据。
GPU Trace (GPU 跟踪)
GPU Trace (GPU 跟踪) 显示应用程序的 GPU 端活动。

顶部窗格显示整个命令缓冲区的持续时间(黑色)和每个命令的持续时间(紫色/粉色)。GPU PerfStudio 通过在调用 GPU Trace 时立即注入时间戳来获取这些持续时间。这些时间戳被注入到非烘焙命令缓冲区的周围,遵循以下模式:TopTimestamp BottomTimestamp1 Command BottomTimestamp2。可视化显示命令被分成两个区域。紫色区域是从 TopTimestamp 到 BottomTimestamp1 的持续时间。粉色区域是从 BottomTimestamp1 到 BottomTimestamp2 的持续时间。在寻找性能瓶颈时,应关注那些粉色区域较长的调用。这些底部到底部的持续时间提供了识别昂贵命令的合理方法。任何缺少粉色区域的命令表示它执行得非常快,因此应该专注于其他命令。顶部到底部的持续时间表示命令何时进入管道,仅作为可视化并行性的辅助。最后,如果发现一个没有上方命令的黑色 WholeCmdBuf,这表明命令缓冲区在 GPU Trace 被调用之前就被烘焙了。也就是说,在 GPU PerfStudio 有机会注入时间戳之前,因此将无法获得每个命令的持续时间。
将鼠标悬停在每个命令上都会弹出一个带有计时信息的工具提示。此窗格还可以通过按住左键并在其上拖动来轻松向左/右移动。还可以使用鼠标滚轮进行放大和缩小。
底部窗格为每个命令缓冲区显示一个选项卡,其中每个选项卡包含该命令缓冲区内的所有命令列表。在这里还可以找到每个命令的参数。
用户还可以双击任一窗格中的命令,以突出显示另一窗格中的相应命令。
打开后,可以通过多次按 GPU Trace 按钮来刷新计时数据。
Linked Trace (链接跟踪)
Linked Trace (链接跟踪) 显示了应用程序的 CPU 和 GPU 活动的混合。

其主要目的是提供一种方法来交叉链接 API 调用与相应的 GPU 命令,反之亦然。鼓励用户将 API Trace 和 GPU Trace 选项卡取消停靠,并将它们并排放置,如上所示。这样就可以点击一侧的调用,以识别另一侧的相同调用。这使得用户可以找到昂贵的 GPU 命令,并在 CPU 端找到其源头。
打开后,可以通过多次按 Linked Trace 按钮来刷新计时数据。