成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

LeCun轉推,PyTorch GPU內存分配有了火焰圖可視化工具

新聞 開發
想要了解自己的 PyTorch 項目在哪些地方分配 GPU 內存以及為什么用完嗎?不妨試試這個可視化工具。

近日,PyTorch 核心開發者和 FAIR 研究者 Zachary DeVito 創建了一個新工具(添加實驗性 API),通過生成和可視化內存快照(memory snapshot)來可視化 GPU 內存的分配狀態。這些內存快照記錄了內存分配的堆棧跟蹤以及內存在緩存分配器狀態中的位置。

接下來,通過將這些內存快照可視化為火焰圖(flamegraphs),內存的使用位置也就能一目了然地看到了。

圖靈獎得主 Yann Lecun 也轉推了這個工具。

圖片Twitter@Zachary DeVito

下面我們來看這個工具的實現原理(以第一人稱「我們」描述)。

生成快照

首先,我們必須記錄每次分配的堆棧幀信息。

圖片

記錄這些堆棧跟蹤的速度非??欤看畏峙浼s 1 us,正常的 PyTorch 內核調用需要至少 8 us),但我們默認將其關閉。而啟用之后,我們可以分配一些內存并拍攝快照。


圖片

快照記錄了整個分配器的狀態,如下所示。

圖片

快照是具有以下結構的 Segment 字典列表。

圖片

Segments 是直接從 cudaMalloc 請求并由分配器緩存的內存。因此,我們可以只使用這些 segments 中的一部分,緩存分配器將它們分為一個或更多個 Block。所有的塊始終保持相同的分配狀態。同時,使用_record_memory_history,每個塊還將記錄一個 History 對象,該對象會記住塊中最后一次分配的位置,包括作為 Frames 列表的堆棧跟蹤。

對于 active_allocated 塊,它其中存在的內容和當前分配的內容將有一個歷史記錄。對于 inactive 塊,可能會有多個條目來記錄塊內存中最后存在的內容??赡懿恢挂粋€條目的原因在于分配器在空閑時會合并分割塊,并記錄下兩次拆分的歷史。為了避免出現大量的歷史記錄,我們只保留不與任何更新塊重合的塊的歷史記錄。

保存快照

快照因自身設計而可以之后離線查看。

圖片

文件_memory_viz.py 可以直接用作交互式命令來處理保存的快照。

圖片

可視化快照

_memory_viz.py 工具也可以生成內存的可視化火焰圖。

圖片

可視化圖將分配器中所有的字節(byte)按不同的類來分割成段,如下圖所示(原文為可交互視圖)。

圖片

火焰圖可視化是一種將資源(如內存)使用劃分為不同類的方法,然后可以進一步細分為更細粒度的類別。

memory 視圖很好地展現了內存的使用方式。但對于具體地調試分配器問題,首先將內存分類為不同的 Segment 對象是有用的,而這些對象是分配軌跡的單個 cudaMalloc 段。

圖片

圖片?

比較快照

該可視化器還可以生成顯示在兩個快照之間添加和刪除的段的可視化。例如,我們可以使用更大的輸入重新運行模型,并查看分配器如何為更大的臨時對象請求更多內存。

圖片

圖片

圖片

比較視圖僅顯示新段,這有助于找出哪些代碼路徑提示分配更多內存。

$ python _memory_viz.py compare snapshot.pickle snapshot2.pickle  -o compare.svgonly_before = []only_after = [140636932014080, 140636827156480, 140634912456704, 140634839056384, 140634843250688, 140634841153536, 140634866319360, 140634811793408, 140634845347840, $ 140636806184960, 140636778921984, 140634878902272]

圖片

責任編輯:張燕妮 來源: 機器之心
相關推薦

2021-03-30 10:10:37

PyTorch可視化工具命令

2018-02-08 14:57:22

對象內存分配

2017-07-03 16:44:10

數據庫MongoDBNoSQL

2020-07-16 15:10:46

工具可視化Python

2017-07-04 16:00:16

PythonMatplotlib可視化工具

2017-07-27 09:49:37

Python工具Matplotlib

2021-04-11 09:51:25

Redis可視化工具

2015-12-02 09:44:04

Python視化工具

2022-10-21 15:47:59

測試工具鴻蒙

2021-03-18 09:07:13

日志可視化工具Devops

2020-04-20 08:22:41

SOC安全工具網絡攻擊

2019-10-14 15:51:40

可視化技術微軟數據庫

2017-07-25 13:42:00

大數據可視化工具

2018-05-31 08:25:13

誤區工具可視化

2022-11-15 15:14:05

2022-05-07 09:02:27

數據可視化工具庫

2019-12-23 14:17:46

數據可視化工具

2017-09-01 10:11:04

深度學習可視化工具

2019-09-27 09:12:18

開源數據可視化大數據

2024-11-28 14:20:08

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品成人免费视频 | 免费黄色成人 | 国产一区免费 | 男女网站免费 | 日韩欧美在线观看视频网站 | 国产婷婷精品av在线 | 国产男女视频 | 99亚洲综合 | 欧美影院 | 人人射人人插 | 在线小视频 | 日本 欧美 国产 | 国产精品日日夜夜 | 欧美1区2区 | 无人区国产成人久久三区 | 四虎永久免费黄色影片 | 欧美在线日韩 | 国产高潮好爽受不了了夜色 | 无毛av| 午夜色婷婷| 成人日韩| 日本三级电影在线观看视频 | 日韩成人免费视频 | 欧美专区在线 | 色就是色欧美 | 午夜精品久久 | 久久精品视频12 | 91av视频在线 | 欧美日韩一区二区三区在线观看 | 免费在线h视频 | 久久国产精品色av免费观看 | 免费视频一区二区 | 久久国产精品-国产精品 | 欧美在线天堂 | 啪啪综合网| 久久精品国产99国产 | 久久精品免费观看 | 亚洲欧美第一视频 | 久久久久久成人 | 高清av电影 | 亚洲在线观看视频 |