在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

NVIDIA BlueField DPU編譯應用程序的不同方法

NVIDIA英偉達企業解決方案 ? 來源:NVIDIA英偉達企業解決方案 ? 作者:NVIDIA英偉達企業解 ? 2022-04-25 11:51 ? 次閱讀

第一步

第二步

去喝杯咖啡…

第三步

您在說明書中常常看到“去喝杯咖啡”嗎?作為一名開發人員,我很早就發現這種令人生厭的俏皮話是我生活中的禍根。無論持續時間長短,進程切換(Context Switches)在應用程序開發周期中都是一項高昂的成本。在所有需要您離開的步驟中,等待應用程序編譯是最難擺脫的。

當我們進入 NVIDIA BlueField DPU 應用程序開發的新世界,有效地設置構建步驟非常重要,以便您能夠無縫地編碼→編譯→單元測試。在本文中,我介紹了 DPU 編譯應用程序的不同方法。

DOCA 數據平面插件的 FRR

(Free Range Routing)

在 DPU 應用程序開發系列文章中,我談到了在 FRR 中創建 DOCA 數據平面插件以用于卸載策略。FRR 的代碼行數接近 100 萬行( 789678 SLOC ),這使得它成為衡量構建時間的絕佳候選。

直接在 BlueField DPU 上開發

DPU 具有 Arm64 架構,一種快速啟動 DPU 應用程序的方法就是直接在 DPU 上開發。本測試使用具有 8G RAM 和 8 個 A72 CPU 內核的 NVIDIA BlueField2 DPU 。

我安裝了 BlueField 引導文件( BFB ),它為 DPU 提供 Ubuntu 20.04.3 操作系統映像。它還包括 DOCA 1.2 和 DPDK 20.11.3 庫。為了使用 DOCA 庫構建應用程序,我將 DPDK pkgconfig 位置添加到 PKG_CONFIG 路徑。

3ff97b74-c3bb-11ec-bce3-dac502259ad0.png

接下來,我通過克隆 FRR 在 DPU 上設置了我的代碼工作區,并切換到 DOCA 數據平面插件。

40077706-c3bb-11ec-bce3-dac502259ad0.png

FRR 需要一個不斷發展的先決條件列表,這些先決條件列舉在FRR 社區文檔中。安裝了這些依賴項后,我將 FRR 配置為包括 DPDK 和 DOCA 數據平面插件。

4012c0b6-c3bb-11ec-bce3-dac502259ad0.png

當我使用 DPU 作為我的開發環境時,我構建并安裝了 FRR 二進制文件:

401ec5fa-c3bb-11ec-bce3-dac502259ad0.png

以下是構建時間的表現。我用多種方法來衡量:

  • 使用make -j12 allmake install構建和安裝二進制文件的時候

  • 使用dpkg-buildpackage –j12 –uc –us將它們組裝成 Debian 軟件包來構建相同二進制文件的時候

第一種方法用于編碼和單元測試。第二種生成 deb 的方法需要與其他外部開發環境上的構建時間進行比較。


402994b2-c3bb-11ec-bce3-dac502259ad0.png

表 1 . DPU Arm 構建時間

時間上的差異是意料之中的。生成一個包需要幾個額外的步驟。

使用 DPU 作為開發環境有一些明顯的優勢:

  • 您可以在不離開工作區的情況下進行編碼、構建和安裝,然后進行單元測試。

  • 您可以針對增量代碼更改來優化構建。

與完整構建(Complete make)相比,最后一個選擇通常可以大幅縮短構建時間。例如,我在 FRR 中修改了 DOCA 數據平面代碼,并重建的結果如下:

4035d31c-c3bb-11ec-bce3-dac502259ad0.png

雖然這可能會讓事情變得更簡單,但它需要為每個開發人員無限期的保留 DPU ,僅用于應用程序開發或維護。您的開發環境可能還需要更多的內存和性能,因此長期來看,這是一個不太可行的選擇。

在 x86 服務器上開發

我的 BlueField-2 DPU 由一臺 x86-64 Ubuntu 20.04 服務器托管,我將這臺服務器用于我的開發環境。

40428dfa-c3bb-11ec-bce3-dac502259ad0.png

在本例中,構建機器是 x86 ,應用程序將運行的主機是 DPU-Arm64 。有幾種方法可以做到這一點:

  • 在 x86 構建機器上使用 Arm 仿真。提供的 DOCA 開發容器作為 DOCA 軟件包的一部分。

  • 使用交叉編譯工具鏈。

在這個測試中,我使用了第一個選項,因為它是最簡單的。第二個選項可以提供不同的性能,但創建該工具鏈有其挑戰。

我在x86 服務器上下載并加載了bfb_builder_doca_ubuntu_20.04容器,并啟動了它。

405b5196-c3bb-11ec-bce3-dac502259ad0.png

DOCA 和 DPDK 庫預先安裝在這個容器中,我只需要將它們添加到PKG_CONFIG路徑。

4071c8fe-c3bb-11ec-bce3-dac502259ad0.png

我在容器中設置了工作區和 FRR 先決條件,與前面的選項相同。

407da5c0-c3bb-11ec-bce3-dac502259ad0.png

我可以在這個 DOCA 容器中構建我的應用程序,但我無法對其進行測試。因此,必須將 FRR 二進制文件構建并打包到 deb 中,然后將其復制到 BlueField DPU 進行測試。我設置了 FRR Debian 規則,以匹配前面選項中使用的 FRR 構建配置,并生成了軟件包:

408ec22e-c3bb-11ec-bce3-dac502259ad0.png

表 2 顯示了構建時間與以前方法的比較:

409fc59c-c3bb-11ec-bce3-dac502259ad0.png

表 2 . DPU Arm 和 X86 構建時間

構建時間的大幅增加讓我感到驚訝,因為我有一臺充足 x86 資源的服務器,而且沒有 Docker 限制。因此,將 CPU 和 RAM 用于解決問題似乎并不總是有幫助的!這種性能下降是因為跨體系結構造成的,正如您在下一個選項中看到的那樣。

在 AWS Graviton 實例中開發

接下來,我嘗試在 Arm 上構建我的應用程序,但這次是在性能更大的外部服務器上。為此,我使用了 Amazon EC2 Graviton 實例,其規格與我的 x86 服務器相當。

  • Arm 64 arch , Ubuntu 20.04 操作系統

  • 128G 內存

  • 32 vCPU

40ac6a86-c3bb-11ec-bce3-dac502259ad0.png

為了在這個實例中設置 DOCA 和 DPDK 庫,我安裝了 DOCA SDK repo meta 包。

40c0407e-c3bb-11ec-bce3-dac502259ad0.png

克隆和構建 FRR Debian 軟件包的其余步驟與前面的選項相同。

表 3 顯示了構建在 AWS Arm 實例上的運行情況:

40cfa712-c3bb-11ec-bce3-dac502259ad0.png

表 3 . DPU Arm 、X86 和 AWS Arm 的構建時間

這是一個明顯的贏家,不需要咖啡。

圖 1 顯示了這些環境中的編譯時間。

40e8399e-c3bb-11ec-bce3-dac502259ad0.png

圖 1 . 具有不同選項的 FRR 構建時間

總結

在本文中,我討論了 DPU 應用程序的幾個開發環境:

  • BlueField DPU

  • x86 服務器上的 DOCA 開發容器

  • AWS Graviton 計算實例

你可以直接在 DPU 上對您的應用程序進行原型設計,在 x86 DOCA 開發容器中進行開發實踐,然后用 DOCA 獲取一個 AWS Graviton 實例,使其高速運行!

原文標題:為 NVIDIA BlueField DPU 應用程序選擇開發環境

文章出處:【微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅


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

    關注

    14

    文章

    5025

    瀏覽量

    103268
  • DPU
    DPU
    +關注

    關注

    0

    文章

    365

    瀏覽量

    24215
  • 應用程序
    +關注

    關注

    37

    文章

    3283

    瀏覽量

    57761

原文標題:為 NVIDIA BlueField DPU 應用程序選擇開發環境

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    NVIDIA BlueField-3 DPU上運行WEKA客戶端的實際優勢

    WEKA是可擴展軟件定義數據平臺的先驅,NVIDIA 正在與其合作,將 WEKA 先進的數據平臺解決方案與功能強大的NVIDIA BlueField DPU相結合。
    的頭像 發表于 01-07 09:43 ?122次閱讀
    在<b class='flag-5'>NVIDIA</b> <b class='flag-5'>BlueField</b>-3 <b class='flag-5'>DPU</b>上運行WEKA客戶端的實際優勢

    android手機上emulate應用程序方法

    在Android手機上模擬(emulate)應用程序方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環境,以便在沒有實際物理設備的情況下運行和測試應用程序
    的頭像 發表于 12-05 15:33 ?354次閱讀

    NVIDIA DOCA-OFED的主要特性

    NVIDIA DOCA 軟件平臺釋放了 NVIDIA BlueField 網絡平臺的潛力,并為NVIDIA BlueField和Connec
    的頭像 發表于 11-09 13:50 ?292次閱讀

    linux驅動程序編譯方法是什么

    Linux驅動程序編譯方法主要包括兩種: 與內核一起編譯編譯成獨立的內核模塊 。以下是對這兩種
    的頭像 發表于 08-30 14:46 ?662次閱讀

    linux驅動程序編譯方法有哪兩種

    Linux驅動程序編譯方法主要可以歸納為兩種: 手動編譯 和 使用內核構建系統(Makefile)自動編譯 。 1. 手動
    的頭像 發表于 08-30 14:39 ?805次閱讀

    NVIDIA BlueField-3 DPU助力思科提高工作負載安全性和運營效率

    、位置和外形尺寸的應用程序工作負載。 思科最近發布了Cisco Secure Workload 3.9 版,將企業的安全性和運營效率提升到了新的水平。它提供了新的功能來緩解威脅和漏洞,并為部署微分段(microsegmentation)提供了更大的靈活性。它現在還擴展到NVIDI
    的頭像 發表于 06-27 17:31 ?783次閱讀

    espressif編譯時顯示應用程序分區低于30%如何調整?

    當用eclipse 編譯結束時, 程序彈出提示:應用程序可用分區低于30%(僅563284,一共2097152),請點擊 進行調正.. 我試著編輯partition_voip_example.csv
    發表于 06-11 07:30

    借助NVIDIA DOCA 2.7增強AI 云數據中心和NVIDIA Spectrum-X

    NVIDIA DOCA 加速框架為開發者提供了豐富的庫、驅動和 API,以便為 NVIDIA BlueField DPU 和 SuperNIC 創建高性能的
    的頭像 發表于 05-29 09:22 ?514次閱讀

    NVIDIA DPU編程入門開課儀式在澳門科技大學成功舉辦

    5 月 24 日,NVIDIA DPU 編程入門開課儀式在澳門科技大學成功舉辦。作為首個在中國開設 NVIDIA DPU 編程相關課程的高校,來自澳門科技大學不同院系的師生共同見證了本
    的頭像 發表于 05-28 09:40 ?412次閱讀

    NVIDIA Omniverse USD Composer能用來做什么?如何獲取呢?

    NVIDIA Omniverse? USD Composer(以前稱為 Create)是 NVIDIA Omniverse? 中用于構建虛擬世界的參考應用程序,允許用戶進行組裝、模擬和渲染大型場景。
    的頭像 發表于 05-20 10:07 ?896次閱讀
    <b class='flag-5'>NVIDIA</b> Omniverse USD Composer能用來做什么?如何獲取呢?

    Nvidia的AI芯片路線圖分析與解讀

    SmartNIC智能網卡/DPU數據處理引擎的下一跳ConnectX-8/BlueField-4目標速率為 800G,與1.6T Quantum和Spectrum-X配套的SmartNIC和DPU的路標仍不明晰,NVLink5.
    發表于 04-29 09:59 ?1030次閱讀
    <b class='flag-5'>Nvidia</b>的AI芯片路線圖分析與解讀

    使用Docker部署Go Web應用程序步驟

    大多數情況下Go應用程序編譯成單個二進制文件,web應用程序則會包括模版和配置文件。而當一個項目中有很多文件的時候,由于很多文件沒有同步就會導致錯誤的發生并且產生很多的問題。
    發表于 04-20 09:33 ?525次閱讀
    使用Docker部署Go Web<b class='flag-5'>應用程序</b>步驟

    【從0開始創建AWTK應用程序編譯應用到RTOS平臺

    AWStudio上編寫好AWTK應用程序后,部署到RTOS平臺(如STM32)是很方便的,下面就以STM32F429型號為例子來介紹如何編譯AWTK應用到RTOS
    的頭像 發表于 03-21 08:23 ?636次閱讀
    【從0開始創建AWTK<b class='flag-5'>應用程序</b>】<b class='flag-5'>編譯</b>應用到RTOS平臺

    應用程序中的服務器錯誤怎么解決?

    在使用應用程序時,可能會遇到服務器錯誤的問題。這種錯誤通常會導致應用程序無法正常運行 ,給用戶帶來不便。下面將介紹應用程序中的服務器錯誤及其解決方法,幫助您快速解決這一問題。
    的頭像 發表于 03-12 15:13 ?6338次閱讀

    基于NVIDIA DOCA 2.6實現高性能和安全的AI云設計

    網絡平臺上快速創建應用程序和服務,并啟用 NVIDIA BlueField DPUNVIDIA
    的頭像 發表于 02-23 10:02 ?487次閱讀
    主站蜘蛛池模板: 好紧好湿好黄的视频| 亚洲三级免费观看| 色视频免费国产观看| 亚洲久优优色优在线播放| 伊人久久香| 四虎影视免费观看| a视频网站| 在线精品91青草国产在线观看| 免费亚洲一区| 一本二卡三卡四卡乱码二百| 亚洲卡5卡6卡7国色天香| 狠狠操狠狠插| 最新sss华人| 亚洲一区二区三区影院| 日xxxx| 看大片全色黄大色黄| 日本欧美一区二区三区视频| 99精品热视频| 色五月激情小说| 激情五月婷婷网| 免费三级黄色| 色色色色色色色色色色色色| 欧美人另类zooz| 日本黄段视频| 国产在线视频资源| 黄色一级毛片网站| 69视屏| 玖玖草在线观看| 成人免费国产gav视频在线| 成人中文在线| xxx色xxx性| 色婷婷在线视频观看| 久久久久免费精品国产| 18一20岁一级毛片| 国产午夜免费一区二区三区| 亚洲欧美天堂网| 四虎影视最新| 国产一区二区在线不卡| 天天干天天操天天操| 免费在线观看的视频| se01亚洲|