Back to top
  • 공유 Share
  • 인쇄 Print
  • 글자크기 Font size
URL copied.

輝達公開 Python DLA 推論範例,可在 Jetson AGX Orin 執行

AI 生成圖片:搭載散熱片的邊緣 AI 開發板 / TokenPost.ai

輝達(NVIDIA,$NVDA)13日公布一份開發者範例,示範如何在 Jetson AGX Orin 上以 Python 設定 DLA 推論。範例說明如何將支援的神經網路運算交由 DLA 處理,並串接 GPU 前處理與後處理。

範例的核心是 cuda.bindings.cudla。這個隨 cuda-bindings 13.3.0 推出的 Python 介面,可讓 Python 程式呼叫既有的 cuDLA C++ API。

Python 負責管理裝置與推論工作,神經網路運算本身則由 Jetson AGX Orin 的 DLA 硬體執行。因此,Python 程式碼並不是直接在 DLA 上運作。

範例在單一 CUDA 串流中,依序安排 GPU 前處理、DLA 推論與 GPU 後處理,由 CUDA 串流協調這些工作的執行順序。

開發者需先使用 TensorRT 的 trtexec 編譯訓練完成的模型,產生 DLA 可讀取的可載入檔案;Python 應用程式則在執行推論時載入該檔案。

程式會將檔案載入記憶體,確認輸入與輸出張量的大小及格式,再向 cuDLA 註冊 GPU 記憶體並提交推論工作,完成後讀取結果。

TensorRT 用於將模型編譯成 DLA 檔案;執行階段則需要 JetPack 內含的 libcudla.so。模型編譯與實際推論由不同元件負責。

這份範例採用以 CUDA 串流協調 GPU 與 DLA 的混合模式(CUDA_DLA)。輝達表示,此次發布不支援 cuDLA 獨立執行模式;該模式需要另外使用 NvSci 緩衝區與同步原語。

DLA 是用來處理特定運算的固定功能加速器,並不支援 GPU 可執行的所有神經網路層。

輝達說明,若模型含有不相容的層,可能需要調整 ONNX 模型的計算圖。導入模型時,也應確認 DLA 支援的層與張量格式條件。

TensorRT 文件也列出一項功能,可將無法在 DLA 執行的層交由 GPU 處理。啟用後,部分層可能會在 GPU 上執行,因此仍需確認實際由 DLA 處理的範圍。

輝達13日在技術部落格表示,將可支援的運算交由 DLA 處理,有助提升能源效率,並讓 GPU 資源用於其他工作。不過,該文未提供 Jetson AGX Orin 的耗電量,也未列出與 GPU 相比的處理速度測量數據。

輝達列出的應用領域包括邊緣 AI、機器人與電腦視覺。本報先前曾報導在 Jetson Orin Nano 執行 Nemotron 3.5 Volt E4B 時的記憶體用量,並提及輝達公布的測量數據。

範例的模型編譯環境為 TensorRT 11.4.1、CUDA 13.4 Update 1,以及 JetPack 7.2.2 或更新版本。TensorRT 文件也將 JetPack 7.2.2 或更新版本列為 Jetson AGX Orin 支援 DLA 的條件。

技術部落格的安裝說明將 Python 3.10 列為最低版本。不過,cuda-bindings 13.5.0 的版本說明記載已終止支援 Python 3.10,安裝時應核對各套件版本的支援範圍。

<Copyright ⓒ TokenPost, unauthorized reproduction and redistribution prohibited>

Most Popular

Other related articles

Comment 0

Comment tips

Great article. Requesting a follow-up. Excellent analysis.

0/1000

Comment tips

Great article. Requesting a follow-up. Excellent analysis.
1