從 Nsight Graphics 2023 . 1 開始, GPU Trace Profiler 是在幀級別評測圖形應用程序的最佳方式。“幀檔案器”活動和“范圍檔案器”工具窗口已被刪除。
別擔心!關鍵分析信息仍然可用,只是以不同的形式提供。這篇文章將指導您完成 GPU Trace 中的步驟,用于 Range Profiler 中每個熟悉的工作流。
在這篇文章中,我回答了以下問題:
- 作為 GPU Trace 的新用戶,我的工作流程應該是什么樣子?
- 在哪里可以找到以前在 Range Profiler 中顯示的每一條數據?
應用程序啟動
以前,要訪問 Range Profiler ,您可能使用了 Frame Profiler 或 Frame Debugger 活動,如圖 1 左側所示。
現在,在啟動應用程序時,選擇 GPU Trace Profiler 選項,如圖 1 右側所示。在公制套件下拉列表中,您可以選擇要顯示在時間軸視圖中的指標。此列表還包括高級模式選項,該選項允許在表格和工具提示中顯示其他度量。
數據收集
以下是之前使用 Range Profiler 查看評測數據的步驟:
- 在應用程序中按 F11 ,或選擇捕獲以進行實時分析在 UI 中。
- 等待應用程序進入回放循環。
- 打開“ Range Profiler ”工具窗口。
使用 GPU Trace ,您可以通過以下步驟查看分析數據:
- 在應用程序中按 F11 或選擇生成 GPU 跟蹤捕獲.
- 數據傳輸進度達到 100% 后,選擇打開.
業務的第一個順序是在時間線上瀏覽性能標記和操作(繪制調用、調度等)。這兩個工具是相似的:標記顯示在時間線上,選擇性能標記后,顯示的指標會更新。
以下是這些工具之間的一些相似之處和不同之處:
- Range Profiler 只能顯示整個測量區域的總值。
相比之下, GPU Trace 能夠顯示關鍵度量的時間序列數據。 - 范圍檔案器中最重要的指標在 GPU 跟蹤時間線上可見!圖 4 顯示了相應的元素。
- 范圍級別度量值在 GPU 跟蹤中可見,在韻律學右邊的選項卡。主要區別在于 GPU Trace 累積采樣數據,其中工作負載可能并行運行;而 Range Profiler 正在隔離每個測量值。
在 GPU 跟蹤中,只有在選擇了高級模式度量集時,某些度量才可用。例如, Warp Stall 原因在圖 4 中以青色突出顯示。
方框圖
Range Profiler 中性能指標的兩個主要可視化描述是 GPU 框圖和 Memory 框圖。
GPU 框圖
雖然 GPU Trace 沒有顯示 GPU 的框圖,但以某種方式,框圖中顯示的所有統計數據都可以在 GPU -Trace 時間線上找到。
表 1 顯示了吞吐量度量或高級模式度量集中的 NVIDIA Ampere 或 NVIDIA Ada 架構的類似元素。
階段 | 圖表元素 | GPU 跟蹤行 | GPU 跟蹤度量 |
幾何學 | 主要距離 | 單位吞吐量 | PD 吞吐量 |
幾何學 | Vtx 收件人提取 | 單位吞吐量 | VAF 吞吐量 |
幾何學 | 虛擬專用計算機 | 單位吞吐量 | PES + VPC 吞吐量 |
幾何學 | 流出 | 單位吞吐量 | PES + VPC 吞吐量 |
光柵化 | 光柵化單元1 | 單位吞吐量 | RASTER 吞吐量 |
光柵化 | 氧化鋯溶膠 | 單位吞吐量 | ZROP 吞吐量 |
光柵化 | 作物溶膠 | 單位吞吐量 | CROP 吞吐量 |
著色 | SM | 單位吞吐量 | SM 吞吐量 |
著色 | SM 餅圖 | SM 指令 | SM 問題激活2 |
著色 | SM 餅圖 | SM 占用 | 每個著色器階段的扭曲2 |
記憶力 | 紋理 | 單位吞吐量 | 一級吞吐量3 |
記憶力 | 二級 | 單位吞吐量 | L2 吞吐量 |
記憶力 | 虛擬隨機存取存儲器 | 單位吞吐量 | VRAM 吞吐量 |
- Range Profiler 不顯示“光柵吞吐量”的值。
- Range Profiler 的餅圖顯示了每個著色器階段執行的指令。
GPU Trace 可以測量總指令,但每個著色器階段的分解僅在 Occupancy 圖表中可用。 - 在現代 GPU 上, L1TEX 緩存是一個組合的 L1 數據緩存,包含一個加載/存儲單元+紋理單元。盡管簡稱為“ L1 ”,但它也包括“紋理”。
內存框圖
GPU Trace 沒有顯示內存層次結構的框圖。然而, Range Profiler 內存圖的每個元素在 GPU Trace 中都有一些相應的時間線數據。
表 2 顯示了吞吐量度量或高級模式度量集中的 NVIDIA Ampere 或 NVIDIA Ada 架構的類似元素。
圖表元素 | GPU 跟蹤行 | GPU 跟蹤度量 |
著色器→ 紋理 | L1 吞吐量 | 一級 LSU 數據級吞吐量 L1 紋理數據階段吞吐量 |
紋理→ 著色器 | L1 吞吐量 | 一級 LSU 寫回階段吞吐量 一級紋理寫回階段吞吐量 |
紋理命中率 | L1 命中率 | L1 命中率 |
輸入匯編程序→ 二級4 | L2 帶寬 | 來自 HUB 的 L2 帶寬5 |
紋理→ 二級4 | L2 帶寬 | L1 的 L2 帶寬6 |
流輸出→ 二級4 | L2 帶寬 | 來自 PE 的 L2 帶寬7 |
下降→ 二級4 | L2 帶寬 | 來自 CROP 的 L2 帶寬+ 來自 ZROP 的 L2 帶寬 |
L2 命中率 | L2 命中率 | L2 命中率 |
二級→ 虛擬隨機存取存儲器 | VRAM 帶寬 | VRAM 寫入帶寬 |
虛擬隨機存取存儲器→ 二級 | VRAM 帶寬 | VRAM 讀取帶寬 |
PCIe TX 帶寬8 | PCIe 帶寬 | PCIe 寫入帶寬 |
PCIe RX 帶寬8 | PCIe 帶寬 | PCIe 讀取帶寬 |
- Range Profiler does not display any values for “ memory requests to L2 ”.
- HUB 流量包括原始分發服務器、復制引擎和其他一些單元。
- “ L1 ”是 L1TEX 的縮寫,包括加載/存儲和紋理帶寬。
- 原始引擎流量除了流輸出之外,還可能包括內部操作。
- Range Profiler 不顯示 PCIe 帶寬。
著色器檔案器呢?
在 Nsight Graphics 2023 . 1 中,著色器檔案器將繼續通過幀調試器活動提供。
著色器檔案器是整體檔案工作流程的重要組成部分,提供 HLSL 和 GLSL 源代碼級別的性能統計數據。將其與 GPU Trace 一起使用可以提供一個完整的畫面,說明為什么幀性能較低,以及每個著色器獲得的性能低于最佳的具體原因。
有關如何工作的更多信息,請參閱以下資源:
- Identifying Shader Limiters with the Shader Profiler in NVIDIA Nsight Graphics
- How to Improve Shader Performance By Resolving LDC Divergence(視頻)
結論
Nsight Graphics GPU Trace Profiler 活動提供與 Range Profiler 相同或更好級別的信息。在大多數情況下,指標是隨著時間的推移而顯示的,而不是單個數字,揭示了并發 GPU 工作負載的實時性能特征。
NVIDIA 不斷開發和改進 GPU Trace ,幫助您在每一種新的強大架構和編程模型上獲得最大性能。要開始,請下載latest version of Nsight Graphics.
如果您有問題或意見,請通過NVIDIA Developer forums或發送電子郵件至NsightGraphics@nvidia.com。記得使用集成的反饋工具窗口右上角的按鈕。有關如何使用我們專家的工具和最佳實踐的視頻,請訂閱NVIDIA Game DeveloperYouTube 頻道。
觀看 GDC 演示視頻,了解 GPU Trace 是如何在《賽博朋克 2077 》中用于優化路徑跟蹤的:How Cyberpunk 2077 Achieved Photorealistic Graphics with NVIDIA’s Tools – YouTube.
有關 GPU Trace 及其許多應用程序的更多信息,請參閱以下資源:
- Advanced API Performance: Async Compute and Overlap
- Identifying Shader Limiters with the Shader Profiler in NVIDIA Nsight Graphics
- Building Acceleration Structures Using Async Compute(視頻)
- How to Improve Shader Performance by Resolving LDC Divergence(視頻)
- Getting Started with Ray Tracing Graphics Tools | NVIDIA On-Demand( GTC 會話)
以下是一系列分析工具的額外資源:
- Uplifting Optimizations, Debugging, and Performance Tuning with NVIDIA Nsight Developer Tools
- NVIDIA Developer Tools – Walkthrough of Development Scenarios and Solutions – YouTube
- Building Games with NVIDIA Nsight Tools on NVIDIA Ada Lovelace – YouTube
鳴謝
感謝以下 NVIDIA 同事,他們為本文做出了貢獻: Louis Bavoil 、 Robert Jensen 、 Axel Mamode 和 Aurelio Reis 。
?