0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DOCA驅(qū)動(dòng)程序和DOCA庫的選擇與使用

NVIDIA英偉達(dá)企業(yè)解決方案 ? 來源:NVIDIA英偉達(dá)企業(yè)解決方案 ? 作者:NVIDIA英偉達(dá)企業(yè)解 ? 2022-06-20 12:09 ? 次閱讀

NVIDIA DOCA 軟件框架包括了對(duì) NVIDIA BlueField DPU (數(shù)據(jù)處理器)進(jìn)行編程所需的一切,無論開發(fā)環(huán)境如何都能提供一致的開發(fā)體驗(yàn)。NVIDIA 提供以下資源。

開發(fā)者計(jì)劃

SDK Manager 支持

工具匯總:

編譯器

基準(zhǔn)測(cè)試

API 參考及程序員指南

參考應(yīng)用程序

使用案例

NVIDIA 通過為開發(fā)者提供 DOCA SDK 和為快速部署提供 DOCA 運(yùn)行時(shí)軟件來交付軟件堆棧。

選擇 DOCA 驅(qū)動(dòng)程序還是 DOCA 庫?

DOCA 驅(qū)動(dòng)程序和 DOCA 庫是關(guān)鍵組件,適用于開發(fā)人員、IT 安全和運(yùn)營(yíng)團(tuán)隊(duì),以及 IT 管理員。它們被用于在 DPU 上開發(fā)和部署軟件定義、硬件加速的應(yīng)用程序。但是,有時(shí)會(huì)收到關(guān)于如何正確使用它們的問題。

為了確保沒有混淆,并確定哪種方式可能最適合您的開發(fā)需求,這篇文章將討論何時(shí)使用哪種方式。

比較了驅(qū)動(dòng)程序和庫,并強(qiáng)調(diào)了各自的優(yōu)缺點(diǎn)。本質(zhì)上講,DOCA 驅(qū)動(dòng)程序提供了更大的定制空間,而 DOCA 庫的設(shè)計(jì)旨在以更低的編碼復(fù)雜性提供最佳的每個(gè)用例性能和可擴(kuò)展性。

DOCA 庫

首先,DOCA 庫是針對(duì)特定用例優(yōu)化的高級(jí)抽象 API 。庫可以通過更短的開發(fā)時(shí)間和上市時(shí)間來實(shí)現(xiàn)優(yōu)異的性能。它們還包括各種指南和示例應(yīng)用程序,在用于開發(fā)時(shí)比 DOCA 驅(qū)動(dòng)程序的學(xué)習(xí)時(shí)間更短。

NVIDIA 庫已預(yù)先加速。它們使您能夠快速構(gòu)建各種應(yīng)用程序,并顯著提高性能,因?yàn)橐厌槍?duì)指定用例創(chuàng)建和調(diào)整了邏輯。它們還確保了多代兼容性,這在使用 DOCA 驅(qū)動(dòng)程序時(shí)是無法保證的。

這些庫旨在解決特定的用例,如防火墻、網(wǎng)關(guān)或存儲(chǔ)控制器。它們使用 PMD 和 DPDK ,并包含 DPDK 或驅(qū)動(dòng)程序級(jí)別不存在的附加功能和邏輯。

例如,如果您使用 RegEx 識(shí)別用于深度數(shù)據(jù)包檢測(cè)(DPI)的復(fù)雜字符串模式,DOCA DPI 庫包括預(yù)處理(數(shù)據(jù)包頭解析)和后處理例程,以便更容易使用 RegEx 加速器對(duì)網(wǎng)絡(luò)數(shù)據(jù)包執(zhí)行操作。而 DPDK RegEx API 并不包含任何這些。DOCA DPI 庫 API 是抽象的,更易于開發(fā)數(shù)據(jù)包檢測(cè)例程,因?yàn)椴恍枰私膺壿嫛?/p>

DOCA 庫使您能夠選擇具有內(nèi)置硬件加速功能的首選 API 。DOCA 1.3 的當(dāng)前版本包括 120 多個(gè) DOCA API :

零信任安全框架

遙測(cè)加速服務(wù)

流式服務(wù)實(shí)現(xiàn)實(shí)時(shí)可見性

這些服務(wù)可通過 NGC Catalog 獲得,并可在幾分鐘內(nèi)部署到 NVIDIA BlueField DPU 上。

這些庫的價(jià)值是通過運(yùn)行時(shí)環(huán)境、DOCA 服務(wù)和一組擴(kuò)展的文檔來實(shí)現(xiàn)的。典型的庫用戶不應(yīng)開發(fā)應(yīng)用程序,而是利用 NVIDIA 或第三方提供的現(xiàn)有應(yīng)用程序和服務(wù)。

DOCA 服務(wù)是由多個(gè)項(xiàng)目組成的容器化驅(qū)動(dòng)程序和庫,可以作為服務(wù)運(yùn)行以提供特定功能。每個(gè)服務(wù)都提供不同的功能,例如 DOCA 遙測(cè) API ,它可以在幾分鐘內(nèi)從 NGC 目錄中獲取。它提供了一種快速便捷的方式來收集用戶定義的數(shù)據(jù)并將其傳輸?shù)?DOCA 遙測(cè)服務(wù)(DTS)。

此外,為了方便用戶,API 還提供了幾個(gè)內(nèi)置輸出,包括將數(shù)據(jù)直接保存到存儲(chǔ)、NetFlow 、Fluent Bit Forwarding 和 Prometheus endpoint 。

這些庫中的每一個(gè)都共享對(duì)象,并且除了它們各自使用 PMD 驅(qū)動(dòng)程序之外,沒有以任何方式綁定。同樣,每個(gè)都有一個(gè)公共基礎(chǔ)設(shè)施,每個(gè)都有自己的文檔和程序員指南。

DOCA 驅(qū)動(dòng)程序和 DOCA SDK

雖然庫消除了低級(jí)編程,但它們可能不支持您正在尋找的所有特性和功能,因此 NVIDIA 提供了 DOCA 驅(qū)動(dòng)程序。DOCA 驅(qū)動(dòng)程序是基于開源的,如果您正在開發(fā)自己的解決方案或必須創(chuàng)建獨(dú)特的解決方案,則可以提供更大的靈活性。

NVIDIA 驅(qū)動(dòng)程序是為開發(fā)人員設(shè)計(jì)的,通過 DOCA SDK 提供。SDK 包括創(chuàng)建和構(gòu)建應(yīng)用程序所需的所有組件,包括參考應(yīng)用源程序、開發(fā)工具、文檔和 NVIDIA SDK Manger 。SDK Manager 支持快速部署開發(fā)環(huán)境,還可以將映像刷寫并安裝到本地 DPU 。

開發(fā)人員容器支持在任何地方開發(fā) DOCA 加速的應(yīng)用程序。您不必在 DPU 上的 Arm 處理器上執(zhí)行此操作。在不具有物理 DPU 的主機(jī)上,您可以在開發(fā)者容器中執(zhí)行此操作,該容器模擬 Arm 處理器。NVIDIA 提供了詳細(xì)的文檔、示例和 API 兼容性。

DOCA SDK 是利用 DOCA 庫和驅(qū)動(dòng)程序并創(chuàng)建獨(dú)特的個(gè)性化軟件,以滿足應(yīng)用程序開發(fā)需求的最有效方法。

DOCA 運(yùn)行時(shí)也可用于驗(yàn)證和測(cè)試應(yīng)用程序。

DOCA 運(yùn)行時(shí)

如果您尚未準(zhǔn)備好或無法將應(yīng)用程序移植到 Arm 體系結(jié)構(gòu),NVIDIA 將為 x86 提供 DOCA 運(yùn)行時(shí)。在這種情況下,gRPC 客戶端在 DPU 上運(yùn)行,并與 x86 運(yùn)行時(shí)建立通信通道。應(yīng)用程序可以訪問 DPU 運(yùn)行時(shí)組件,而無需編譯任何 Arm 代碼。

軟件定義、硬件加速的基礎(chǔ)架構(gòu)

DOCA 簡(jiǎn)化了 BlueField DPU 的編程和應(yīng)用程序開發(fā),并通過提供更高級(jí)別的抽象來消除障礙。通過提供運(yùn)行時(shí)二進(jìn)制文件和高級(jí) API ,DOCA 框架使您能夠?qū)W⒂趹?yīng)用程序代碼,而不是學(xué)習(xí)。

您可以選擇兩種開發(fā)路線:通過庫和服務(wù)或通過 SDK 和驅(qū)動(dòng)程序。目前,DOCA 軟件棧包括 120 多個(gè) DOCA API ,全球 2500 多名 DOCA 開發(fā)者正在使用這些 API 。它們可通過 NGC Catalog 獲得。

如果您是 DOCA 的新手,NVIDIA 提供免費(fèi)的自主課程,使用DOCA 開發(fā)DPU 應(yīng)用入門,它涵蓋了 DOCA 平臺(tái)的基本要點(diǎn)。

原文標(biāo)題:了解何時(shí)使用 DOCA 驅(qū)動(dòng)程序和 DOCA 庫

文章出處:【微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4814

    瀏覽量

    102632
  • 驅(qū)動(dòng)程序
    +關(guān)注

    關(guān)注

    19

    文章

    810

    瀏覽量

    47864
  • 數(shù)據(jù)處理器

    關(guān)注

    0

    文章

    26

    瀏覽量

    8630

原文標(biāo)題:了解何時(shí)使用 DOCA 驅(qū)動(dòng)程序和 DOCA 庫

文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    硬盤電機(jī)怎么驅(qū)動(dòng)程序?它有什么典型特征?

    硬盤電機(jī)的驅(qū)動(dòng)程序是硬盤中一個(gè)非常重要的組成部分,它負(fù)責(zé)控制硬盤電機(jī)的啟動(dòng)、停止、轉(zhuǎn)速調(diào)節(jié)等操作。硬盤電機(jī)驅(qū)動(dòng)程序的設(shè)計(jì)和實(shí)現(xiàn)涉及到電機(jī)控制理論、電子技術(shù)、計(jì)算機(jī)編程等多個(gè)領(lǐng)域的知識(shí)。 一、硬盤電機(jī)
    的頭像 發(fā)表于 10-22 11:10 ?62次閱讀

    LSP 2.10 DaVinci Linux驅(qū)動(dòng)程序

    電子發(fā)燒友網(wǎng)站提供《LSP 2.10 DaVinci Linux驅(qū)動(dòng)程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-09 09:30 ?0次下載
    LSP 2.10 DaVinci Linux<b class='flag-5'>驅(qū)動(dòng)程序</b>

    Linux設(shè)備驅(qū)動(dòng)程序分類有哪些

    Linux設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)與硬件設(shè)備之間的橋梁,負(fù)責(zé)實(shí)現(xiàn)硬件設(shè)備與操作系統(tǒng)之間的通信和控制。Linux設(shè)備驅(qū)動(dòng)程序的分類繁多,可以根據(jù)不同的標(biāo)準(zhǔn)進(jìn)行分類。 按硬件類型分類 Linux設(shè)備
    的頭像 發(fā)表于 08-30 15:11 ?316次閱讀

    linux驅(qū)動(dòng)程序如何加載進(jìn)內(nèi)核

    在Linux系統(tǒng)中,驅(qū)動(dòng)程序是內(nèi)核與硬件設(shè)備之間的橋梁。它們?cè)试S內(nèi)核與硬件設(shè)備進(jìn)行通信,從而實(shí)現(xiàn)對(duì)硬件設(shè)備的控制和管理。 驅(qū)動(dòng)程序的編寫 驅(qū)動(dòng)程序的編寫是Linux驅(qū)動(dòng)開發(fā)的基礎(chǔ)。在編
    的頭像 發(fā)表于 08-30 15:02 ?287次閱讀

    linux驅(qū)動(dòng)程序的編譯方法是什么

    Linux驅(qū)動(dòng)程序的編譯方法主要包括兩種: 與內(nèi)核一起編譯 和 編譯成獨(dú)立的內(nèi)核模塊 。以下是對(duì)這兩種方法的介紹: 一、與內(nèi)核一起編譯 與內(nèi)核一起編譯意味著將驅(qū)動(dòng)程序的源代碼直接集成到Linux內(nèi)核
    的頭像 發(fā)表于 08-30 14:46 ?250次閱讀

    linux驅(qū)動(dòng)程序運(yùn)行在什么空間

    Linux 驅(qū)動(dòng)程序是操作系統(tǒng)的一部分,負(fù)責(zé)管理硬件設(shè)備與操作系統(tǒng)之間的交互。驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間(Kernel Space),這是操作系統(tǒng)的核心部分,與用戶空間(User Space)相對(duì)。內(nèi)核
    的頭像 發(fā)表于 08-30 14:37 ?230次閱讀

    IB Verbs和NVIDIA DOCA GPUNetIO性能測(cè)試

    NVIDIA DOCA GPUNetIO 是 NVIDIA DOCA SDK 中的一個(gè),專門為實(shí)時(shí)在線 GPU 數(shù)據(jù)包處理而設(shè)計(jì)。它結(jié)合了 GPUDirect RDMA 和 GPUDirect
    的頭像 發(fā)表于 08-23 17:03 ?358次閱讀
    IB Verbs和NVIDIA <b class='flag-5'>DOCA</b> GPUNetIO性能測(cè)試

    虹科技術(shù) Linux環(huán)境再升級(jí):PLIN驅(qū)動(dòng)程序正式發(fā)布

    Linux驅(qū)動(dòng)程序領(lǐng)域再添新成員,PLIN驅(qū)動(dòng)程序現(xiàn)已正式發(fā)布。
    的頭像 發(fā)表于 06-28 13:34 ?303次閱讀
    虹科技術(shù) Linux環(huán)境再升級(jí):PLIN<b class='flag-5'>驅(qū)動(dòng)程序</b>正式發(fā)布

    借助NVIDIA DOCA 2.7增強(qiáng)AI 云數(shù)據(jù)中心和NVIDIA Spectrum-X

    NVIDIA DOCA 加速框架為開發(fā)者提供了豐富的、驅(qū)動(dòng)和 API,以便為 NVIDIA BlueField DPU 和 SuperNIC 創(chuàng)建高性能的應(yīng)用程序和服務(wù)。
    的頭像 發(fā)表于 05-29 09:22 ?399次閱讀

    怎么編寫Framebuffer驅(qū)動(dòng)程序

    Framebuffer 驅(qū)動(dòng)程序框架 分為上下兩層: fbmem.c:承上啟下 實(shí)現(xiàn)、注冊(cè) file_operations 結(jié)構(gòu)體 把 APP 的調(diào)用向下轉(zhuǎn)發(fā)到具體的硬件驅(qū)動(dòng)程序
    的頭像 發(fā)表于 03-22 09:13 ?468次閱讀
    怎么編寫Framebuffer<b class='flag-5'>驅(qū)動(dòng)程序</b>

    基于NVIDIA DOCA 2.6實(shí)現(xiàn)高性能和安全的AI云設(shè)計(jì)

    作為專為 NVIDIA? BlueField? 網(wǎng)絡(luò)平臺(tái)而設(shè)計(jì)的數(shù)據(jù)中心基礎(chǔ)設(shè)施軟件框架,NVIDIA? DOCA? 使廣大開發(fā)者能夠利用其行業(yè)標(biāo)準(zhǔn) API 在 NVIDIA BlueField
    的頭像 發(fā)表于 02-23 10:02 ?403次閱讀

    NVIDIA DOCA 2.5 長(zhǎng)期支持版本發(fā)布

    基礎(chǔ)設(shè)施開發(fā)者的全面軟件框架,NVIDIA DOCA 已被領(lǐng)先的云服務(wù)提供商、企業(yè)和 ISV 創(chuàng)新者所采用,為開發(fā)、優(yōu)化和部署基于 NVIDIA BlueField 系列產(chǎn)品的加速應(yīng)用程序和服務(wù)提供
    的頭像 發(fā)表于 12-26 18:25 ?347次閱讀
    NVIDIA <b class='flag-5'>DOCA</b> 2.5 長(zhǎng)期支持版本發(fā)布

    ch341a驅(qū)動(dòng)程序無法使用

    隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,各種外部設(shè)備的驅(qū)動(dòng)程序成為了保證硬件正常工作的重要一環(huán)。然而,有時(shí)我們可能會(huì)遇到ch341a驅(qū)動(dòng)程序無法使用的問題。本文將詳細(xì)解釋該問題的原因,并提供詳實(shí)、細(xì)致的解決方法
    的頭像 發(fā)表于 12-26 14:17 ?3407次閱讀

    XL2515驅(qū)動(dòng)程序

    IO模擬XL2515驅(qū)動(dòng)程序
    發(fā)表于 12-11 14:39 ?24次下載

    linux驅(qū)動(dòng)程序的主要流程和功能

    驅(qū)動(dòng)程序是用于控制和管理硬件設(shè)備的軟件模塊,它主要負(fù)責(zé)與設(shè)備進(jìn)行交互,通過操作設(shè)備的寄存器和接口,實(shí)現(xiàn)對(duì)硬件的控制和訪問。在Linux系統(tǒng)中,驅(qū)動(dòng)程序是實(shí)現(xiàn)與硬件設(shè)備交互的一個(gè)關(guān)鍵部分。本文將詳細(xì)
    的頭像 發(fā)表于 12-08 14:56 ?2038次閱讀