如何專業地分析GPU VRAM使用: Nsight 快速上手

更新於 發佈於 閱讀時間約 5 分鐘

(詳細API參考: Advanced Reference)

使用GPU是AI研究、工程中不可或缺的一部份, VRAM 使用對於深度學習和高性能計算領域至關重要。有效分析和管理 VRAM 使用能幫助我們提升模型效率,避免不必要的記憶體(內存)溢出問題。

本文將帶你快速上手 NVIDIA 的 Nsight System 工具,並結合 PyTorch 框架,深入了解如何專業地分析 GPU VRAM 使用。


第一步:安裝 Nsight 工具

NVIDIA 提供了多種 Nsight 工具,其中 Nsight Systems用於系統級的性能分析,而 Nsight Compute 用於內核級的性能細節分析。以下是安裝步驟:


  1. 確認、安裝 NVIDIA 驅動版本
  2. 安裝 Nsight Systems: 前往 NVIDIA Nsight 官網下載適合你操作系統的版本,並按照指引安裝。


第二步:基於 PyTorch 的 VRAM 使用分析


通常可以使用PyTorch 提供的 API 查看 VRAM 的使用情況:

import torch

assert torch.cuda.is_available()

print(f"Allocated Memory: {torch.cuda.memory_allocated()} bytes")

print(f"Cached Memory: {torch.cuda.memory_reserved()} bytes")


然而,筆者不少次遇到此方法無法正確反映(通常是報少了)實際用量的狀況,通常發生於較複雜的腳本,因此,我們需要搭配Nsight更深入準確的研究

import torch

from torch.cuda import nvtx

model = torch.nn.Linear(100, 10).cuda()

data = torch.randn(1000, 100).cuda()

nvtx.range_push("Forward Pass") # 設定標籤

output = model(data)

nvtx.range_pop() # 結束標籤

nvtx.range_push("Backward Pass") # 設定第二個標籤

output.sum().backward()

nvtx.range_pop() # 結束標籤


執行此代碼時,Nsight 工具會捕捉到 `Forward Pass` 和 `Backward Pass` 的 NVTX 標記,幫助分析哪部分代碼消耗了更多的 VRAM 或計算資源。


接下來,執行

nsys profile -w true -t cuda,nvtx,osrt,cudnn,cublas -s cpu  --capture-range=cudaProfilerApi  --cuda-memory-usage=true --cudabacktrace=true --capture-range-end=stop --force-overwrite=true -x true -o profiling python ...


程式跑完後,會產生profiling.nsys-rep這個檔案,此時執行

nsys-ui profiling.nsys-rep即可開啟UI觀察

(如果是windows,可以安裝Nvidia Nsight System應用程式,並拖曳檔案開啟)


raw-image


如果需要更好地分析python function與GPU的互動,可以加上

--python-functions-trace=<json_file> (參考<target-platform-folder>/PythonFunctionsTrace/annotations.json)

--python-sampling=true, --python-sampling-frequency等指令


通過結合 Nsight 系列工具與 PyTorch 的內置分析 API,我們可以全面了解 GPU 的 VRAM 使用狀況,幫助優化深度學習模型的性能。從基礎的 torch.cuda ,到 NVTX 的範圍標記,再到 Nsight 系統和內核級的深入分析,每一步都能幫助我們更專業地管理 GPU 資源。


留言
avatar-img
留言分享你的想法!
avatar-img
ECOE的沙龍
3會員
41內容數
ECOE的沙龍的其他內容
2025/02/03
付費工具:Mathpix 可以用螢幕矩形截圖的方式快速將數學公式、表格轉乘latex,用於latex文件或是Markdown,但月費蠻高的 免費替代品pix2tex 原始碼: https://github.com/lukas-blecher/LaTeX-OCR 精準度比mathpix差
Thumbnail
2025/02/03
付費工具:Mathpix 可以用螢幕矩形截圖的方式快速將數學公式、表格轉乘latex,用於latex文件或是Markdown,但月費蠻高的 免費替代品pix2tex 原始碼: https://github.com/lukas-blecher/LaTeX-OCR 精準度比mathpix差
Thumbnail
2024/12/31
在購買電腦支架時,常常需要考量電腦主機的重量,一台電腦具體而言多重呢? 以筆者的主機為例 機殼: 8kg (MONTECH 君主 Air 1000 Silent 靜音版 ATX) 顯示卡: 0.753kg (GeForce RTX™ 3060 VENTUS 3X 12G OC) 主機板: 1.
2024/12/31
在購買電腦支架時,常常需要考量電腦主機的重量,一台電腦具體而言多重呢? 以筆者的主機為例 機殼: 8kg (MONTECH 君主 Air 1000 Silent 靜音版 ATX) 顯示卡: 0.753kg (GeForce RTX™ 3060 VENTUS 3X 12G OC) 主機板: 1.
2024/11/13
(不想花時間爬蟲嗎? 點我兩杯飲料錢直接購買、下載整理好的csv) 要分析股市,取得資料是首要的一步。最簡單的方法是從現有網站下載歷史數據的CSV檔案,例如: Yahoo Finance:台灣版提供豐富的資訊,國際版還可以直接下載歷史數據的CSV檔。 台灣證交所:擁有最全面的資料,但網頁結
Thumbnail
2024/11/13
(不想花時間爬蟲嗎? 點我兩杯飲料錢直接購買、下載整理好的csv) 要分析股市,取得資料是首要的一步。最簡單的方法是從現有網站下載歷史數據的CSV檔案,例如: Yahoo Finance:台灣版提供豐富的資訊,國際版還可以直接下載歷史數據的CSV檔。 台灣證交所:擁有最全面的資料,但網頁結
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
(詳細API參考: Advanced Reference) 使用GPU是AI研究、工程中不可或缺的一部份, VRAM 使用對於深度學習和高性能計算領域至關重要。有效分析和管理 VRAM 使用能幫助我們提升模型效率,避免不必要的記憶體(內存)溢出問題。 本文將帶你快速上手 NVIDIA 的 Nsi
Thumbnail
(詳細API參考: Advanced Reference) 使用GPU是AI研究、工程中不可或缺的一部份, VRAM 使用對於深度學習和高性能計算領域至關重要。有效分析和管理 VRAM 使用能幫助我們提升模型效率,避免不必要的記憶體(內存)溢出問題。 本文將帶你快速上手 NVIDIA 的 Nsi
Thumbnail
本文介紹如何在 nVidia Jetson Orin Nano 裝置上安裝 PyTorch,並運用其 Python 及 CUDA 環境進行機器學習和人工智慧的開發。提供詳細步驟。適合希望在該平臺上開展研究與開發的使用者。
Thumbnail
本文介紹如何在 nVidia Jetson Orin Nano 裝置上安裝 PyTorch,並運用其 Python 及 CUDA 環境進行機器學習和人工智慧的開發。提供詳細步驟。適合希望在該平臺上開展研究與開發的使用者。
Thumbnail
神經處理單元(NPU)主要用於加速人工智慧(AI)和機器學習(ML)任務。 以下是一些主要的應用領域和使用者: AI和機器學習:NPU是人工智慧和機器學習領域的直接受益者。這些技術依賴數據而蓬勃發展,NPU擅長消化和解釋大量資料集,使機器能夠以前所未有的速度學習。 智慧型設備和物聯網:在智慧型
Thumbnail
神經處理單元(NPU)主要用於加速人工智慧(AI)和機器學習(ML)任務。 以下是一些主要的應用領域和使用者: AI和機器學習:NPU是人工智慧和機器學習領域的直接受益者。這些技術依賴數據而蓬勃發展,NPU擅長消化和解釋大量資料集,使機器能夠以前所未有的速度學習。 智慧型設備和物聯網:在智慧型
Thumbnail
NVIDIA的新目標是成為支援企業開發AI應用程式的「AI晶圓代工」,提供技術、專業知識和基礎設施,幫助實現AI應用。具體而言,NVIDIA將提供GPU、自主CPU「Grace」、超級計算機及其硬體,還有軟體和工具,以滿足客戶需求。
Thumbnail
NVIDIA的新目標是成為支援企業開發AI應用程式的「AI晶圓代工」,提供技術、專業知識和基礎設施,幫助實現AI應用。具體而言,NVIDIA將提供GPU、自主CPU「Grace」、超級計算機及其硬體,還有軟體和工具,以滿足客戶需求。
Thumbnail
NVIDIA、Intel、Tenstorrent和RISC-V在AI半導體領域的競爭和合作。Intel在AI領域推出了一系列產品,Tenstorrent和Rapidus合作開發新技術,而RISC-V開放源碼指令集架構也受到了廣泛關注。這些內容都展示了AI半導體市場的技術革新和競爭激烈的情況。
Thumbnail
NVIDIA、Intel、Tenstorrent和RISC-V在AI半導體領域的競爭和合作。Intel在AI領域推出了一系列產品,Tenstorrent和Rapidus合作開發新技術,而RISC-V開放源碼指令集架構也受到了廣泛關注。這些內容都展示了AI半導體市場的技術革新和競爭激烈的情況。
Thumbnail
這篇文章探討了NVIDIA在推論式AI半導體市場的挑戰,以及介紹了Intel在AI領域的強化舉措。文章中提到了新興企業可能有機會取代現有市場領導者,並討論了RISC-V技術在AI半導體市場的應用和其他相關動向。
Thumbnail
這篇文章探討了NVIDIA在推論式AI半導體市場的挑戰,以及介紹了Intel在AI領域的強化舉措。文章中提到了新興企業可能有機會取代現有市場領導者,並討論了RISC-V技術在AI半導體市場的應用和其他相關動向。
Thumbnail
NVIDIA(輝達),近期在科技業及半導體產業皆颳起了一陣AI旋風,更直接躍升至全球市值第6大企業,超越Meta、特斯拉等知名企業,成為最炙手可熱的企業之一。究竟,NVIDIA為什麼會一夕之間爆紅?GPU真的會改變整個半導體的生態嗎?
Thumbnail
NVIDIA(輝達),近期在科技業及半導體產業皆颳起了一陣AI旋風,更直接躍升至全球市值第6大企業,超越Meta、特斯拉等知名企業,成為最炙手可熱的企業之一。究竟,NVIDIA為什麼會一夕之間爆紅?GPU真的會改變整個半導體的生態嗎?
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News