成人sese/国产免费人成视频在线观看/九色 在线/免费观看又色又爽又黄的/啪在线视频/日日做日日摸夜夜爽

首頁 娛樂 > 正文

MegEngine 使用小技巧:Profiler使用手冊

0.寫在前面

“xx,R 那邊反應多機訓練速度慢,你看一下什么情況”

“xxx,為什么 MGE 更新之后,xxx 網絡訓練變慢了,你看一下”

這是組內日常對話


(資料圖)

然后有人日常背鍋

組員的狀態是:提性能,提性能,還是 TMD 提性能

據不完全統計,有 80% 的性能問題其實是因為訓練代碼寫的不夠好,讓 MGE 有力使不出來

包括但不限于以下情況

1)沒開 fast_run

2)頻繁使用 numpy 進行同步

3)沒有用 make_allreduce_cb,讓計算通信串行

4)。。。

次數多了,就發現這玩意太花時間了,而且每次的步驟都千篇一律,為啥一定要我來做,所以寫這篇文章進行總結,方便大家也方便自己

1.Profiler 介紹

首先我們要認識 Profiler 這個東西

簡單來說,Profiler 以時間軸的形式記錄了所有算子的運行時間

通過 Profile 結果,我們可以很快的發現這段代碼為什么跑的慢

是做了多余的工作?還是計算資源的浪費?或者是算子本身的性能很差,需要替換成別的算子

這是一個簡單的 profile 結果展示

大部分情況下我們只關注 gpu thread,每一個 gpu thread 對應一個 cuda stream,上面都是運行在這個 cuda stream 上的算子

2.使用方式

PS:靜態圖的統計信息還不夠完善(受到圖優化影響),profile 結果相對動態圖的不夠友好

from megengine.utils.profiler import profile, Profiler # 裝飾器寫法@profile()def train_step(data, label, *, optimizer, gm, model)    with gm:        logits = model(data)        loss = F.loss.cross_entropy(logits, label)        gm.backward(loss)        optimizer.step().clear_grad()    return loss # with 寫法# 訓練過程中最好只有一個profiler實例,因為profiler會在析構時自動dump出結果,如果有多個實例的話每個iter都會dump,非常慢profiler = Profiler() def train_step(data, label, *, optimizer, gm, model)    with profiler:       with gm:           logits = model(data)           loss = F.loss.cross_entropy(logits, label)           gm.backward(loss)           optimizer.step().clear_grad()    return loss

??注意,profiler 默認會在析構的時候導出 profile 結果,也可以手動調用 profiler.dump 方法手動 dump

參數說明:

Profiler的構造函數支持如下參數:

  • path: profile 數據的存儲路徑,默認為當前路徑下的profile文件夾.
  • format: 輸出數據的格式,默認為chrome_timeline.json,是 Chrome 支持的一種標準格式,以時間線的形式展現 profiling 結果. 可選項還有有 memory_flow.svg,以時間x地址空間的形式展示內存使用情況.
  • formats: 若需要的輸出格式不止一種,可以在 formats 參數里列出.
  • sample_rate: 若該項不為零,則每隔 n 個 op 會統計一次顯存信息,分析數據時可以繪制顯存占用曲線,默認為 0.
  • profile_device: 是否記錄 gpu 耗時,默認為 True.
  • with_scopes: 是否額外記錄 functional/ tensor method 等 python API 對應的 scope, 默認為 False.
  • with_backtrace: 是否記錄 op/event 對應的 python 調用棧, 默認為 False, 開啟會使記錄數據文件體積變大.

scope 使用介紹

我們會自動在 module 的 forward 還有 backward 以及 step 步驟中加入 scope,scope 會在 host thread 上顯示,能看出 op 屬于哪一個 module 的什么階段

也可以自己加上 scope

from megengine.utils.profiler import Profiler, scope def main()    with Profiler():        x = Tensor(1)        with scope("Add"):            y = x+1        with scope("Mul"):            z = x*3

默認情況下 profiler 只會記錄 module forward, backward, step 三類 scope, 用戶可以在構造 Profiler 對象時傳入參數with_scopes = True額外記錄 functionaltensor methodapi調用對應的 scope

開啟 with_scopes選項后額外記錄了 BatchNorm2d Module內部調用的 functional / tensor method API調用 scope

開啟 with_scopes 選項后額外記錄了 backward scope, 該 scope 用于記錄反向計算序列對應的前向算子, 可用于查找反向計算中有性能問題的算子是由哪種算子前向計算產生。下圖 scope 表示 Broadcast, SetSubtensor 等算子是由 Subtensor 反向計算產生的。

3.可視化顯示

推薦使用perfetto查看 profile 結果,也可以用 Chrome 開發者模式(F12)的 Performance 模塊查看 timeline 格式文件,也可以用chrome://tracing/進行查看

以下介紹的都是基于 perfetto 的操作方式

1)統計

可以選中一段連續的時間段,查看這一個時間段的統計結果

下方會顯示事件統計結果,可以看到事件實際占用時間(Wall duration)(可以結合總時間算出空閑時間),可以按照總占用時間排序,也可以按照平均時間排序

2)依賴關系

在 host thread上,op 會記錄對應的 input和output 以及相應的依賴關系,可以依據箭頭找到 input 依賴的上一個 op,也可以通過下方 flow event 點擊移動到上一個或者下一個

我們還能找到 op 對應的 host 時間和 gpu 時間,點擊 op 可以看到在不同 thread(cpu,gpu)占用的時間

3)查看顯存使用, gpu 利用率等指標

profiler 除了記錄時間算子執行時間外,還會記錄一些與顯存和性能相關的指標。gpu_usage_ratio 記錄程序執行平均的 gpu 利用率(gpu 執行 kernel 時間占總時間的比例),gpu_usage_ratio 低說明程序 host 側是瓶頸 。gpux:x alloc_mem_value 記錄了gpux 顯存使用量隨時間的變化的曲線, 需要把 sample_rate 設置為大于 0 的整數(sampe rate 代表每隔 n 個 op 記錄一次顯存使用量)

4)放大縮小

可以拖動上方時間軸的起始和結束點來修改起始點和結束點,也可以通過放大縮小手勢進行放大縮小

中間豎線上面的灰色小方塊就是可以拖動的點

4.常見調試技巧(附使用例子

1)多余計算

yolox 例子,forward,backward,step 運行完成了,但是后面多出了很多的 reshape 操作(一般認為 reshape 無實際計算,所以基本看作是浪費

找到原因后結果如下(5s->1.3s)

2)計算通信串行(請認準 make_allreduce_cb)

allreduce 通信在 gpu0:1,如果發現通信在 gpu0:0 那就是用錯了

3)host 性能慢,gpu 利用率不高

cpu 時間和 gpu 時間基本上一致,很可疑

放大仔細看,gpu 運行時間中有很多空隙,而且點擊對應 op 查看依賴關系,可以看出中間的空隙時間是在等待 host 進行 launch cuda kernel

4)使用 backtrace 記錄功能查找性能瓶頸部分對應源碼

上述示例介紹了如何從 profile 結果中發現性能異常的部分, profiler 提供了 backtrace 調用棧記錄功能, 方便用戶找到異常部分對應的訓練代碼源碼。backtrace 記錄會記錄算子的 dispatch/kernel 執行,TensorWaitProperty 等事件對應的 python 調用棧。

可以在構造 Profiler 對象時通過傳入 with_backtrace = True 開啟調用棧記錄功能。 開啟該選項后 profiler 保存數據文件體積會增大。

用戶可以在 perfetto UI 界面上點擊 op 查看其對應的源碼。

下圖 profiler 結果中 CompiledOp[IOU] 算子執行時間較長, 通過記錄的 backtrace 可以發現該算子是檢測模型計算 loss 部分調用的。

下圖中 interpreter 線程中某個 TensorWaitProp 占用時間很長,可能會拖慢 host 執行速度,導致 gpu 空閑。

(TensorWaitProp 可能是由 tensor.shape, tensor.numpy() 等方法調用產生的, 會讓 host 側等待 device 執行,以獲取 Tensor 的 value 或 shape 屬性)

通過調用棧可以發現該事件是由 basedet 檢測模型 get_ground_truth 方法中的某個 getitem產生的 ( __getitem__中使用了 tensor shape 屬性觸發了 host 側的 sync)。

更多 MegEngine 信息獲取,您可以:查看文檔和GitHub 項目,或加入 MegEngine 用戶交流 QQ 群:1029741705。歡迎參與 MegEngine 社區貢獻,成為Awesome MegEngineer,榮譽證書、定制禮品享不停。

關鍵詞:

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2023 創投網 - m.zhigu.net.cn All rights reserved
聯系我們:39 60 29 14 2@qq.com
皖ICP備2022009963號-3

主站蜘蛛池模板: 校园春色男人天堂 | 欧美性做爰片免费视频看 | 成人性生交大片免费看r链接 | 久久精品国产色蜜蜜麻豆 | 四虎影院最新地址 | 成人精品啪啪欧美成 | 啪啪综合 | 日本久久精品一区二区三区 | 免费的毛片视频 | 国产男女猛视频在线观看 | 中文字幕无码中文字幕有码a | 国产99久一区二区三区a片 | 天天躁日日躁很很很躁 | 国产亚洲日韩在线aaaa | 国产精品无码无在线观看 | 国产精品成人网址在线观看 | 中文字幕手机在线视频 | 国产欧美一区二区精品忘忧草 | 成人妇女免费播放久久久 | 做爰xxxⅹ高潮69网站 | 国产午夜性爽视频男人的天堂 | 成人免费视频008 | 欧美日韩另类一区 | 亚洲制服 视频在线观看 | 亚洲视频三 | 成人免费毛片足控 | 久久久久久av无码免费网站 | 国产激情一区 | 日韩一区二区三区视频 | 夜夜骑天天干 | 久久精品人人做人人爽电影蜜月 | 中文在线字幕av | 久久精品久久国产 | 欧美乱妇在线视频播放 | 欧美美女一区二区 | 久久精品老司机 | 欧美又粗又大又硬又长又爽视频 | 欧美在线 | 亚洲 | 97国产高清dvd | 99精品欧美一区二区蜜桃免费 | 国产自在自线2021 | 在线看的av网站 | 免费人成在线观看视频高潮 | 亚洲综合免费 | 九九热这里只有 | 侵犯人妻女教师中文字幕 | 粉嫩av成熟少妇在线播放 | 日本黄色一级 | 天堂中文最新版在线中文 | 久久久噜噜噜久久久精品 | 日本韩无专砖码高清 | 在线观看成人无码中文av天堂不卡 | 国产又粗又爽又黄的视频 | 的九一视频入口在线观看 | 美女裸片 | 爆乳一区二区三区无码 | 汤唯的三级av在线播放 | 日本成片区免费久久 | 国色天香社区在线视频观看 | 主站蜘蛛池模板: 蛛词}| 一级黄色免费观看 | 国产老太婆免费交性大片 | 老头老夫妇自拍性tv | 久久成人久久爱 | 国产精品国产三级国产an | 牛牛在线视频 | 日韩高清网站 | 可以免费看毛片的网站 | 久久国产午夜精品理论片最新版本 | 国产成人在线网站 | 欧美性色黄大片人与善 | 手机在线视频你懂的 | 99久久一区二区 | 强行18分钟处破痛哭av | 亚洲国产欧美一区 | 久草热视频在线观看 | 91精品国产综合久久久亚洲 | 黄色日批视频在线观看 | 91碰在线 | 91丨国产丨精品白丝 | 国产乡下妇女做爰 | 国产做无码视频在线观看浪潮 | 亚洲人交乣女bbw | 国产在线国偷精品免费看 | 四月天中文字幕综合网 | 鸥美一级片 | 黄色免费观看网站 | 国产女人夜夜春夜夜爽免费看 | 婷婷国产天堂久久综合亚洲 | 一边捏奶头一边高潮视频 | 国产麻豆精品传媒 | 秋霞午夜久久午夜精品 | 免费黄色在线视频网站 | 日本阿v免费观看视频 | 啦啦啦中文在线视频免费观看 | 国内最真实的xxxx人伦 | 日本理伦片午夜理伦片 | 狠狠色综合色综合网站久久 | 影音先锋人妻av在线电影 | 狠狠色婷婷久久一区二区三区 | 久章草国语自产拍在线观看 | 亚洲欧美色图在线 | 欧美一级黄色录像片 | 狠狠欧美 | 日本乱子人伦在线视频 | 亚洲老熟女与小伙bbwtv | 国产 日韩 欧美 视频 制服 | 亚洲另类欧美综合久久图片区 | 97视频在线免费播放 | 色宅男看片午夜大片啪啪 | 激情视频网址 | 日韩精品欧美精品 | 国产精品福利网站 | 国产ts惠奈酱群妖互玩 | 日韩精品亚洲aⅴ在线影院 亚洲欧美国产国产一区二区 | 国产美女高潮一区二区三区 | 高清午夜福利电影在线 | 中文字幕在线观 | 自拍偷拍福利视频 | 主站蜘蛛池模板: 蛛词}| 精品一区二区不卡 | 美女福利影院 | 一起草视频在线播放 | 人妻夜夜添夜夜无码av | 中文字幕一区二区三区四区免费看 | 九九视频免费在线 | 亚洲精品无码乱码成人 | av无码一区二区三区 | 伊人青青草原 | 97精品在线 | 欧美激情做真爱牲交视频 | 婷婷色香五月综合缴缴情香蕉 | 久久久久亚洲精品 | 岛国av无码免费无禁网站 | 国产高清卡1卡2卡3麻豆 | 国产免费a∨片同性同志 | 亚洲人成网站在线播放2019 | 国产美女遭强高潮网站观看 | 看全色黄大色黄大片女图片第一次 | 综合视频在线观看 | 国产午夜无码片在线观看网站 | 免费的av网站手机版 | 无码中文国产不卡视频 | 韩国一级淫一片免费放 | 乱精品一区字幕二区 | 亚洲色图另类图片 | 亚洲精品一区久久久久一品av | 久久国产精品视频一区 | 欧美性猛交xxxxxx | 久久精品一二三区白丝高潮 | 欧美成人伊人 | 亚洲人成在线观看网站不卡 | 午夜网站视频 | 中文字幕一区二区三区乱码不卡 | 国产亚洲精品久久久久秋 | 亚洲国产成人五月综合网 | 四虎国产精品成人免费久久 | 秋霞av鲁丝片一区二区 | 中文字幕在线视频网站 | 国产精品国产三级国产aⅴ 日韩精品免费看 | 亚洲午夜精品一区 | 亚洲精品久久久久av无码 | 久久日本片精品aaaaa国产 | 欧美成人午夜精品免费 | 日韩毛片无码永久免费看 | 成人免费无码大片a毛片直播 | 亚洲第一av导航av尤物 | 国产精品三级一区二区 | 日本久久一区 | 日韩av一区二区三区免费看 | 人人玩人人添人人澡欧美 | 亚洲成a人片在线观看无码3d | 伊人yinren22综合开心 | a中文字幕 | 国产精品粉嫩 | 亚洲福利视频网 | 福利午夜视频 | 亚洲精品乱码久久久久久不卡 | 亚洲 综合 欧美在线视频 | 主站蜘蛛池模板: 蛛词}| 久久国产精品综合 | 男男车车的车车网站w98免费 | 亚洲码国产精品高潮在线 | 久久9999久久免费精品国产 | 亚洲中文字幕无码中文 | 一级黄色在线 | 国产免费拔擦拔擦8x软件大全 | 国产在线色视频 | 日本乱码视频 | 国精品99久9在线 | 免费 | 久久精品视频亚洲 | 亚洲美腿丝袜无码专区 | 日本一卡二卡四卡无卡国产 | 国产成人精品无缓存在线播放 | 日韩久久不卡 | av大片在线看 | 2021最新国产在线人成 | 日本少妇被黑人猛cao | 超薄丝袜足j好爽在线观看 性刺激的欧美三级视频中文字幕 | 18分钟处破好疼哭视频在线观看 | 日韩精品免费一区二区三区竹菊 | 四虎影视永久地址 | 日韩在线中文字幕 | 欧美日韩国产一区在线 | 夜夜做夜夜爱 | 无码精品人妻一区二区三区中 | 久久精品国产99国产精偷 | 国产大陆xxxx做受视频 | 国产天美传媒性色av出轨 | 国产福利永久在线视频无毒不卡 | 三日本三级少妇三级99 | 加勒比伊人网 | 九九免费观看视频 | 国产免费激情视频 | 日本网站免费观看 | 色伊人久久 | 中文字幕精品一区二区的区别 | 欧美亚洲日本一区二区三区 | 操一操影院 | 毛片毛片毛片毛 | 婷婷丁香五月天综合东京热 | 曰本一级黄色片 | 日韩精品电影综合区亚洲 | 中文字幕专区高清在线观看 | 青青青青国产免费线在线观看 | 成人免费一级片 | 日本成a人片在线播放 | 人人做人人澡人人爽欧美 | 91婷婷在线 | 日韩成人免费在线 | 少妇内射高潮福利炮 | 国产不卡在线视频 | 亚洲无线一二三四区手机 | 青青草无码伊人久久 | 欧美日韩在线观看一区二区三区 | 西西人体大胆瓣开下部自慰 | 成人三级视频在线观看一区二区 | 久久亚洲国产成人影院 | 在线亚欧观看2023 | 主站蜘蛛池模板: 蛛词}| 亚洲另类精品无码专区 | 国产午夜鲁丝无码拍拍 | 欧美xxxx做受欧美.88 | av老司机久久 | 日本乱偷中文字幕 | 日日插插 | 中文字幕乱码一区av久久不卡 | 真正免费毛片在线播放 | 国产成人av一区二区三区在线观看 | 一 级做人爱全视频在线看 国产亚洲精品久久久久5区 | 国产又黄又粗又爽 | 日日摸夜添夜夜夜添高潮 | 国产精品区一区二区三含羞草 | 狠狠色狠狠色综合久久第一次 | 欧美性xxxx极品hd欧美风情 | 少妇人妻一级a毛片 | 中文字幕第21页 | 亚洲精品乱码8久久久久久日本 | 亚洲久久久久 | 91日日日| 另类中文字幕 | 国产sm重味一区二区三区 | 免费视频在线看 | 性猛少妇对白xxxxx富婆 | 亚洲爆乳大丰满无码专区 | 无码国产精品一区二区免费式影视 | 91在线小视频 | 人妻丝袜中文无码av影音先锋 | 中文乱码在线中文字幕中文乱码 | 日本熟妇毛茸茸茂密的森林 | 国产又色又爽又刺激视频 | 国内露脸中年夫妇交换 | 国产精品色婷婷亚洲综合看片 | 97久久精品人人做人人爽 | 东京热无码中文字幕av专区 | 婷婷色婷婷深深爱播五月 | 国产欧美激情日韩成人三区 | 夜夜嗨国产露脸精品国产 | 麻花传媒剧国产mv高清播放 | 欧美精品一区二区免费 | 91丝袜在线播放 | 亚洲日日干| 可以看的黄色 | 精品无码人妻一区二区三区品 | 久久精品国产免费一区 | 亚洲三级成人 | 国产精品爽爽va在线观看网站 | 中国黄色片视频 | 亚洲射情| 国产青草视频 | 亚洲成人免费网站 | 九九热线有精品视频 | 91挑色 | 国产精品久久久久久tv | 毛片1000部免费看 | 性色av无码不卡中文字幕 | 成人精品视频在线观看不卡 | 人妻丰满熟妇av无码区乱 | 亚洲永久精品一区二区三区 |