色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

NVIDIA的GPU開源套件加速數據庫的應用價值

星星科技指導員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-19 10:56 ? 次閱讀

介紹

NVDashboard 是一個開源軟件包,用于在交互式Jupyter 實驗室環境中實時可視化 NVIDIA GPU 指標。 NVDashboard 是所有 GPU 用戶監視系統資源的好方法。然而,它對于RAPIDS, NVIDIA的GPU開源套件加速數據科學軟件庫的用戶尤其有價值。

考慮到現代數據科學算法的計算強度,在許多情況下 GPU 可以提供改變游戲規則的工作流加速。為了獲得最佳性能,底層軟件有效地使用系統資源是絕對關鍵的。盡管加速庫(如 cuDNN 和 RAPIDS )是專門設計用于執行性能優化方面的繁重任務的,但對于開發人員和最終用戶來說,驗證他們的軟件是否真正按照預期利用了 GPU 資源是非常有用的。雖然這可以通過 NVIDIA -smi 等命令行工具實現,但許多專業數據科學家更喜歡使用交互式 Jupyter 筆記本進行日常模型和工作流開發。

圖 1 : NVDashboard Jupyter 實驗室擴展正在運行。 GPU 儀表板顯示在屏幕右側,而兩個dask-labextension儀表板顯示在左下角。

如圖 1所示, NVDashboard 使 Jupyter 筆記本用戶能夠在用于開發的相同交互環境中可視化系統硬件指標。支持的指標包括:

GPU – 計算利用率

GPU – 內存消耗

PCIe 吞吐量

NVLink 吞吐量

該軟件包構建在基于 Python 的儀表板服務器上,該服務器支持 Bokeh 可視化庫在實時[1]中顯示和更新圖形。另外一個 Jupyter Lab 擴展將這些儀表板作為可移動窗口嵌入到交互式環境中。大多數 GPU 指標都是通過 PyNVML 收集的, PyNVML 是一個開源的 Python 包,它構成了 NVIDIA 管理庫( NVML )的包裝。因此,可以修改/擴展可用的儀表板,以顯示可通過 NVML 訪問的任何可查詢 GPU 指標。

使用 NVDashboard

nvdashboard 軟件包在PyPI上提供,由兩個基本組件組成:

博克服務器:服務器組件利用出色的 Bokeh 可視化庫實時顯示和更新 GPU -診斷儀表板。所需的硬件指標可通過PyNVML訪問,該PyNVML是一個開源的 Python 包,由 NVIDIA 管理庫(NVML)的包裝組成。因此,可以修改/擴展NVDashboard以顯示任何可查詢的 GPU 指標,這些指標可以通過NVML輕松地從 Python 訪問。

Jupyter 實驗室擴建: Jupyter 實驗室擴展將 GPU 診斷儀表板嵌入為交互式Jupyter-Lab環境中的可移動窗口。

$ pip install jupyterlab-nvdashboard

# If you are using Jupyter Lab 2 you will also need to run
$ jupyter labextension install jupyterlab-nvdashboard

圖 2 : Jupyter 實驗室擴展的主菜單。

必須澄清的是, NVDashboard 自動監控整個機器的 GPU 資源,而不僅僅是本地 Jupyter 環境使用的資源。朱皮特實驗室eExtension 當然可以用于非 i Python /筆記本開發。例如,在圖 3中,“ NVLink 時間線”和“ GPU 利用率”儀表板在 Jupyter 實驗室環境中用于監控從命令行執行的多 GPU 深度學習工作流。


圖 3 : Jupyter 實驗室使用的“ NVLink Timeline ”儀表板。

博克服務器

雖然 Jupyter 實驗室擴展肯定是基于 i Python /筆記本電腦開發的愛好者的理想選擇,但其他 GPU 用戶也可以使用 sandalone Bokeh 服務器訪問儀表板。這是通過運行來完成的。

$ Python -m jupyterlab nvdashboard 。 server 《端口號》

啟動 Bokeh 服務器后,可通過在標準 web 瀏覽器中打開相應的 url (例如 http ://《 ip 地址》:《 port number 》)來訪問 GPU 儀表板。如圖 4所示,主菜單列出了 NVDashboard 中可用的所有儀表板。


圖 4 : NVDashboard 的 Bokeh 服務器組件的主菜單。

例如,選擇“ GPU -Resources ”鏈接將打開圖 5中所示的儀表板,該儀表板使用對齊的時間線圖總結各種 GPU 資源的利用率。


圖 5 : Jupyter 實驗室外部使用的“ GPU 資源”儀表板。

要以這種方式使用 NVDashboard ,只需要 pip 安裝步驟(可以跳過實驗室擴展安裝步驟):

$ pip 安裝 jupyterlab nvdashboard

或者,您也可以克隆jupyterlab-nvdashboard存儲庫,只需執行server.py腳本(例如python jupyterlab_nvdashboard/server.py 《port-number》)。

實施細節

現有的 nvdashboard 包提供了許多有用的 GPU – 資源儀表板。但是,修改現有儀表板和/或創建全新的儀表板非常簡單。為了做到這一點,您只需要利用 PyNVML 和 Bokeh 。

PyNVML dasic

PyNVML 是 NVIDIA 管理庫( NVML )的 Python 包裝器,它是一個基于 C 的 API ,用于監視和管理 NVIDIA GPU 設備的各種狀態。 NVML 直接由更知名的 NVIDIA 系統管理接口( NVIDIA -smi )使用。根據 NVIDIA 開發者網站, NVML 提供對以下可查詢狀態的訪問(除了此處未討論的可修改狀態外):

ECC 錯誤計數:報告可糾正的單位錯誤和可檢測的雙位錯誤。為當前引導周期和 GPU 的生命周期提供錯誤計數。

GPU 利用率:報告 GPU 和內存接口的計算資源的當前利用率。

主動計算過程:報告在 GPU 上運行的活動進程列表,以及相應的進程名稱/ id 和分配的 GPU 內存。

時鐘和 PState:報告了幾個重要時鐘域的最大和當前時鐘速率,以及當前 GPU 性能狀態。

溫度和風扇轉速:報告當前堆芯 GPU 溫度以及非無源產品的風扇轉速。

電源管理:對于支持的產品,會報告當前板功率消耗和功率限制。

Identification:報告各種動態和靜態信息,包括板序列號、 PCI 設備 ID 、 VBIOS / Inforom 版本號和產品名稱。

盡管目前存在幾種不同的 NVML Python 包裝器,但我們在 GitHub 上使用 GoAi 托管的PyNVML包。這個版本的 PyNVML 使用 ctypes 包裝大多數 nvmlcapi 。 NVDashboard 僅利用查詢實時 GPU 資源利用率所需的一小部分 API ,包括:

nvmlInit():初始化 NVML 。初始化成功后,緩存 GPU 句柄,以降低儀表板中活動監視期間的數據查詢延遲。

nvmlShutdown(): Finalize NVML

nvmlDeviceGetCount ():獲取可用 GPU 設備的數量

nvmlDeviceGetHandleByIndex():獲取設備的句柄(給定整數索引)

nvmlDeviceGetMemoryInfo():獲取內存信息對象(給定設備句柄)

nvmlDeviceGetUtilizationRates():獲取利用率對象(給定設備句柄)

nvmlDeviceGetPcieThroughput():獲取 PCIe 吞吐量對象(給定設備句柄)

nvmlDeviceGetNvLinkUtilizationCounter():獲取 NVLink 利用率計數器(給定設備句柄和鏈接索引)

在 PyNVML 的當前版本中, Python 函數名的選擇通常與 C API 完全匹配。例如,要查詢每個可用設備上的當前 GPU – 利用率,代碼如下所示:

可用設備上的當前 GPU – 利用率,代碼如下所示:

In [1]: from pynvml import *
In [2]: nvmlInit()
In [3]: ngpus = nvmlDeviceGetCount()
In [4]: for i in range(ngpus):
…: handle = nvmlDeviceGetHandleByIndex(i)
…: gpu_util = nvmlDeviceGetUtilizationRates(handle).gpu
…: print(‘GPU %d Utilization = %d%%’ % (i, gpu_util))
…:
GPU 0 Utilization = 43%
GPU 1 Utilization = 0%
GPU 2 Utilization = 15%
GPU 3 Utilization = 0%
GPU 4 Utilization = 36%
GPU 5 Utilization = 0%
GPU 6 Utilization = 0%
GPU 7 Utilization = 11%

注意,除了 GitHub 存儲庫之外, PyNVML 還托管在PyPI和鍛造伯爵上。

儀表板代碼

要修改/添加 GPU 儀表板,只需使用兩個文件(jupyterlab_bokeh_server/server.py和jupyterlab_nvdashboard/apps/gpu.py)。添加/修改儀表板所需的大多數 PyNVML 和 bokeh 代碼都將在gpu.py中。只有在添加或更改菜單/顯示名稱的情況下,才需要修改server.py。在這種情況下,必須在 routes dictionary 中指定新的/修改的名稱(鍵為所需的名稱,值為相應的儀表板定義):

routes = {
   "/GPU-Utilization": apps.gpu.gpu,
   "/GPU-Memory": apps.gpu.gpu_mem,
   "/GPU-Resources": apps.gpu.gpu_resource_timeline,
   "/PCIe-Throughput": apps.gpu.pci,
   "/NVLink-Throughput": apps.gpu.nvlink,
   "/NVLink-Timeline": apps.gpu.nvlink_timeline,
   "/Machine-Resources": apps.cpu.resource_timeline,
}

為了讓服務器不斷刷新 bokeh 應用程序使用的 PyNVML 數據,我們使用 bokeh 的 ColumnDataSource 類在每個圖中定義數據的source。 ColumnDataSource 類允許為每種類型的數據傳遞更新函數,可以在每個應用程序的專用回調函數( cb )中調用更新函數。例如,現有 GPU 應用程序的定義如下:

def gpu(doc):

fig = figure(title=“GPU Utilization”, sizing_mode=“stretch_both”, x_range=[0, 100])

def get_utilization():

return [

pynvml.nvmlDeviceGetUtilizationRates(gpu_handles[i]).gpu

for i in range(ngpus)

gpu = get_utilization()

y = list(range(len(gpu)))

source = ColumnDataSource({“right”: y, “gpu”: gpu})

mapper = LinearColorMapper(palette=all_palettes[“RdYlBu”][4], low=0, high=100)

fig.hbar(

source=source,

y=“right”,

right=“gpu”,

height=0.8,

color={“field”: “gpu”, “transform”: mapper},

fig.toolbar_location = None

doc.title = “GPU Utilization [%]”

doc.add_root(fig)

def cb():

source.data.update({“gpu”: get_utilization()})

doc.add_periodic_callback(cb, 200)

請注意, PyNVML GPU 利用率數據的實時更新是在source.data.update()調用中執行的。有了必要的ColumnDataSource邏輯,可以通過多種方式修改標準 GPU 定義(如上)。例如,交換 x 軸和 y 軸,指定不同的調色板,甚至將圖形從 hbar 完全更改為其他圖形。

關于作者

Jacob Tomlinson 是 NVIDIA 的高級 Python 軟件工程師,專注于分布式系統的部署工具。他的工作包括維護開源項目,包括 RAPIDS 和 Dask 。 RAPIDS 是一套 GPU 加速開源 Python 工具,模擬 PyData 堆棧中的 API ,包括 NumPy 、 pandas 和 SciKit Learn 的 API 。 Dask 為分析提供了高級并行性,包括核心外計算、延遲計算和 PyData 堆棧的分布式執行。

Ken Hester 是 NVIDIA 的解決方案架構師和經理,在 HPC 、 AI 深度學習和機器學習以及 CUDA GPU 計算領域為能源行業提供支持。他來自德克薩斯州休斯頓,在 NVIDIA 工作了近 8 年。在 NVIDIA 之前, Ken 在能源行業工作了 15 年以上,是數據科學、軟件架構、軟件設計和開發領域的行業專家。

Rick Zamora 是 NVIDIA 在 RAPIDS 和 Dask 工作的高級軟件工程師。他有科學計算研究和并行軟件開發的背景。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5075

    瀏覽量

    103532
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4768

    瀏覽量

    129224
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    84951
收藏 人收藏

    評論

    相關推薦

    MySQL數據庫的安裝

    MySQL是一個開源免費的關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下公司。 MySQL 最流行的關系型數據庫管理系統,在 WEB 應用方面MySQL是最好
    的頭像 發表于 01-14 11:25 ?114次閱讀
    MySQL<b class='flag-5'>數據庫</b>的安裝

    數據庫是哪種數據庫類型?

    數據庫是一種部署在虛擬計算環境中的數據庫,它融合了云計算的彈性和可擴展性,為用戶提供高效、靈活的數據庫服務。云數據庫主要分為兩大類:關系型數據庫
    的頭像 發表于 01-07 10:22 ?122次閱讀

    《CST Studio Suite 2024 GPU加速計算指南》

    的各個方面,包括硬件支持、操作系統支持、許可證、GPU計算的啟用、NVIDIA和AMD GPU的詳細信息以及相關的使用指南和故障排除等內容。 1. 硬件支持 - NVIDIA
    發表于 12-16 14:25

    數據庫數據恢復—Mysql數據庫表記錄丟失的數據恢復流程

    Mysql數據庫故障: Mysql數據庫表記錄丟失。 Mysql數據庫故障表現: 1、Mysql數據庫表中無任何數據或只有部分
    的頭像 發表于 12-16 11:05 ?207次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—Mysql<b class='flag-5'>數據庫</b>表記錄丟失的<b class='flag-5'>數據</b>恢復流程

    PingCAP推出TiDB開源分布式數據庫

    “作為一款PingCAP自主研發、面向全球用戶的開源數據庫,TiDB走在了技術的前沿。得益于第四代英特爾 至強 可擴展處理器卓越的代際性能提升,以及其搭載的多種硬件加速器,我們進一步提升了TiDB
    的頭像 發表于 11-24 11:26 ?535次閱讀
    PingCAP推出TiDB<b class='flag-5'>開源</b>分布式<b class='flag-5'>數據庫</b>

    數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

    一個運行在存儲上的SQLServer數據庫,有1000多個文件,大小幾十TB。數據庫每10天生成一個NDF文件,每個NDF幾百GB大小。數據庫包含兩個LDF文件。 存儲損壞,數據庫
    的頭像 發表于 10-31 13:21 ?296次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—通過拼接<b class='flag-5'>數據庫</b>碎片恢復SQLserver<b class='flag-5'>數據庫</b>

    開放原子開源數據庫生態論壇成功舉辦

    以“開源生態筑基礎,數字經濟鑄未來”為主題的2024全球數字經濟大會——開放原子開源數據庫生態論壇在北京成功舉辦。開放原子開源基金會副秘書長辛曉華出席并致辭,北京市經濟和信息化局信息化
    的頭像 發表于 09-24 10:36 ?491次閱讀

    數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

    SQL Server數據庫故障: SQL Server附加數據庫出現錯誤823,附加數據庫失敗。數據庫沒有備份,無法通過備份恢復數據庫。
    的頭像 發表于 09-20 11:46 ?390次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b>恢復案例

    NVIDIA全面轉向開源GPU內核模塊

    借助 R515 驅動程序,NVIDIA 于 2022 年 5 月發布了一套開源的 Linux GPU 內核模塊,該模塊采用雙許可證,即 GPL 和 MIT 許可。初始版本主要面向數據
    的頭像 發表于 07-25 09:56 ?502次閱讀
    <b class='flag-5'>NVIDIA</b>全面轉向<b class='flag-5'>開源</b><b class='flag-5'>GPU</b>內核模塊

    阿里云與中興通訊達成開源數據庫合作

    近日,阿里云與中興通訊宣布達成開源數據庫領域的深度合作。中興通訊正式加入PolarDB開源社區,并榮任首屆理事會成員單位,這一舉措標志著兩大科技巨頭在數據庫領域的合作邁向新的高度。
    的頭像 發表于 05-17 10:47 ?600次閱讀

    阿里云與中興通訊達成開源數據庫合作,助推國產數據庫發展

    據悉,阿里云與中興通訊于5月16日公布了開源數據庫合作事宜。中興通訊正式宣布加入PolarDB開源社區,并擔任首屆理事會成員單位。
    的頭像 發表于 05-16 16:34 ?503次閱讀

    NVIDIA加速微軟最新的Phi-3 Mini開源語言模型

    NVIDIA 宣布使用 NVIDIA TensorRT-LLM 加速微軟最新的 Phi-3 Mini 開源語言模型。TensorRT-LLM 是一個
    的頭像 發表于 04-28 10:36 ?616次閱讀

    搭載英偉達GPU,全球領先的向量數據庫公司Zilliz發布Milvus2.4向量數據庫

    在美國硅谷圣何塞召開的 NVIDIA GTC 大會上,全球領先的向量數據庫公司 Zilliz 發布了 Milvus 2.4 版本。這是一款革命性的向量數據庫系統,在業界首屈一指,它首次采用了英偉達
    的頭像 發表于 04-01 14:33 ?513次閱讀
    搭載英偉達<b class='flag-5'>GPU</b>,全球領先的向量<b class='flag-5'>數據庫</b>公司Zilliz發布Milvus2.4向量<b class='flag-5'>數據庫</b>

    選擇 KV 數據庫最重要的是什么?

    經常有客戶提到 KV 數據庫,但卻偏偏“不要 Redis”。比如有個做安全威脅分析平臺的客戶,他們明確表示自己對可靠性要求非常高,需要的不是開源 Redis 這種內存緩存,而是 KV 數據庫
    的頭像 發表于 03-28 22:11 ?725次閱讀
    選擇 KV <b class='flag-5'>數據庫</b>最重要的是什么?

    數據庫數據恢復】Oracle數據庫ASM實例無法掛載的數據恢復案例

    oracle數據庫ASM磁盤組掉線,ASM實例不能掛載。數據庫管理員嘗試修復數據庫,但是沒有成功。
    的頭像 發表于 02-01 17:39 ?556次閱讀
    【<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復】Oracle<b class='flag-5'>數據庫</b>ASM實例無法掛載的<b class='flag-5'>數據</b>恢復案例
    主站蜘蛛池模板: 美女网站免费久久久久久久 | 美女胸被男子强捏视频 | 国产中文在线 | 色男人的天堂久久综合 | 少妇连续高潮抽搐痉挛昏厥 | 国产扒开美女双腿屁股流白浆 | 色老99九久精品偷偷鲁 | 攻把受做哭边走边肉楼梯PLAY | 高清国语自产拍在线 | 叔叔 电影完整版免费观看韩国 | 老牛天天晚上夜噜噜噜 | 门事件快播| 一本道的mv中文字幕 | 忘忧草在线社区WWW日本直播 | 精品国产成人AV在线看 | 全部老头和老太XXXXX | 国产 日韩 欧美 综合 激情 | 美女叉腿掰阴大胆艺术照 | 国产综合在线观看 | YELLOW视频直播在线观看 | 国产ZZJJZZJJ视频全免费 | 99国内偷揿国产精品人妻 | 1973性农场未删减版 | 国产传媒麻豆剧精品AV | 手机看片国产免费 | fryee性欧美18 19 | 5G在线观看免费年龄确认 | 女教师二十三歳 | 果冻传媒APP免费网站在线观看 | 海角社区在线视频播放观看 | 国产小视频免费看 | 成3d漫二区三区四区 | 日本毛片久久国产精品 | 国产一区二区内射最近更新 | 亚洲日韩KKK444KKK聚色 | 亚洲人成电影网站在线观看 | 国产亚洲精品AAAAAAA片 | 国产午夜不卡在线观看视频666 | 狠狠干.in| 小草高清视频免费直播 | 月夜直播免费观看全集 |