<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何監(jiān)控NVIDIA GPU 的運行狀態(tài)和使用情況

          共 2300字,需瀏覽 5分鐘

           ·

          2021-11-16 00:35

          來源:deephub imba

          設(shè)備跟蹤和管理正成為機(jī)器學(xué)習(xí)工程的中心焦點。這個任務(wù)的核心是在模型訓(xùn)練過程中跟蹤和報告gpu的使用效率。

          有效的GPU監(jiān)控可以幫助我們配置一些非常重要的超參數(shù),例如批大小,還可以有效的識別訓(xùn)練中的瓶頸,比如CPU活動(通常是預(yù)處理圖像)占用的時間很長,導(dǎo)致GPU需要等待下一批數(shù)據(jù)的交付,從而處于空閑狀態(tài)。

          什么是利用率?

          過去的一個采樣周期內(nèi)GPU 內(nèi)核執(zhí)行時間的百分比,就稱作GPU的利用率。

          如果這個值很低,則意味著您的 GPU 并沒有全速的工作,可能是受到 CPU或者IO 操作的瓶頸,如果你使用的按小時付費的云服務(wù)器,那么就是在浪費時間和金錢!

          使用終端命令監(jiān)控

          nvidia-smi

          以下是我們在這里收集的一些信息:

          • GPU:Tesla T4

          • 設(shè)備溫度:設(shè)備當(dāng)前運行溫度為 25 攝氏度

          • 功耗:GPU 目前運行功率9W,官方設(shè)定的額定最大功率消耗 70W ?。

          • 顯存:0MiB / 15109MiB 上限

          • GPU利用率:0%。同樣,NVIDIA 將利用率定義如下:過去采樣周期中一個或多個內(nèi)核在 GPU 上執(zhí)行的時間百分比。

          如果你負(fù)責(zé)硬件相關(guān)的工作,溫度和功率是跟蹤的可能是你關(guān)注的主要問題,這樣您就可以平衡嘗試最大化計算和維護(hù)設(shè)備安全。如果你是硬件使用者(就像一般我們使用云服務(wù)器一樣),最關(guān)心的應(yīng)該是內(nèi)存使用和GPU利用率。

          使用 nvidia-smi 進(jìn)行監(jiān)控的其他一些技巧:

          調(diào)用 watch -n 1 nvidia-smi ?可以每一秒進(jìn)行自動的刷新。

          nvidia-smi 也可以通過添加 --format=csv 以 CSV 格式輸。在 CSV 格式中,可以通過添加 --gpu-query=... 參數(shù)來選擇顯示的指標(biāo)。

          為了實時顯示 CSV 格式并同時寫入文件,我們可以將 nvidia-smi 的輸出傳輸?shù)?tee 命令中,如下所示。這將寫入我們選擇的文件路徑。

          nvidia-smi --query-gpu=timestamp,pstate,temperature.gpu,utilization.gpu,utilization.memory,memory.total,memory.free,memory.used --format=csv | tee gpu-log.csv

          用 Python 代碼監(jiān)控

          基于終端的工具很棒,但有時我們希望將 GPU 監(jiān)控和日志記錄直接整合到 Python 程序中。這里提供2中方法:

          1、使用NVIDIA 管理庫 (NVML)

          NVML(nvidia-management-library)是CUDA中提供的可以查看顯卡信息的工具包,nvidia-smi也是基于這個工具包

          在python中NVML有很多個包,我們只比較其中的兩個。nvvidia-ml-py3 ,它是 NVML 的簡單接口,沒有任何重要的附加功能。使用此庫可能如下所示:

          # Install with "pip install nvidia-ml-p3" 
          import pynvml# Must call this first
          pynvml.nvmlInit()

          # Use device index to get handle
          handle = pynvml.nvmlDeviceGetHandleByIndex(0)

          # Use handle to get device stats
          memory_info = pynvml.nvmlDeviceGetMemoryInfo(handle)
          utilization = pynvml.nvmlDeviceGetUtilizationRates(handle)

          # Report device stats
          print("Total memory:", memory_info.total)
          print("Free memory:", memory_info.free)
          print("Used memory:", memory_info.used)
          print("GPU Utilization:", utilization.gpu)
          print("Memory Utilization:", utilization.memory)

          另一個比較好用的庫是py3nvml,因為它添加了一些用于管理 GPU 的實用功能,而 nvidia-ml-py3 僅用于監(jiān)控。除了上面顯示的功能類型之外,該庫還允許我們執(zhí)行以下操作(摘自官方文檔):

          import py3nvml
          import tensorflow as tf
          py3nvml.grab_gpus(3)
          sess = tf.Session() # now we only grab 3 gpus!

          在這里,我們在一臺可以訪問多個 GPU 的機(jī)器上運行,但我們只想將其中三個用于 本次TensorFlow session。使用 py3nvml,我們可以簡單地調(diào)用 py3nvml.grab_gpus(3) 來分配三個設(shè)備。

          總結(jié)

          以上命令可以是我們獲取到需要的GPU監(jiān)控指標(biāo)了,下一步就是進(jìn)行可視化,我們可以直接打印出來,或者將指標(biāo)推送到tensorboard,甚至是使用prometheus將GPU的運行狀況納入到運維的監(jiān)控體系。


          作者:Michael Cullan




          瀏覽 65
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91黄色操逼视频 | 欧美日韩国产123区 | 大香蕉中文娱乐网 | 黄片免费观看网站 | 人人草人人摸人人看 |