【2023 · CANN訓練營第一季】昇騰AI入門課(PyTorch)筆記總結

hw131487發表於2023-05-12


昇騰AI入門課(PyTorch) 筆記總結

 

華為公司面向計算機視覺、自然語言處理、推薦系統、類機器人等領域量身打造了基於 “達芬奇(DaVinci)架構”的昇騰(Ascend)AI處理器,開啟了智慧之旅。為提升使用者開發效率和釋放昇騰AI處理器澎湃算力,同步推出針對AI場景的異構計算架構CANN(Compute Architecture for Neural Networks),CANN透過提供多層次的程式設計介面,以全場景、低門檻、高效能的優勢,支援使用者快速構建基於Ascend平臺的AI應用和業務。

昇騰AI異構計算架構(Compute Architecture for Neural Networks,CANN)被抽象成五層架構,如下圖所示。

 

1.    昇騰計算語言介面

昇騰計算語言(Ascend Computing Language,AscendCL)介面是昇騰計算開放程式設計框架,是對低層昇騰計算服務介面的封裝。它提供Device(裝置)管理、Context(上下文)管理、Stream(流)管理、記憶體管理、模型載入與執行、運算元載入與執行、媒體資料處理、Graph(圖)管理等API庫,供使用者開發人工智慧應用呼叫。

 

2.    昇騰計算服務層

本層主要提供昇騰計算庫,例如神經網路(Neural Network,NN)庫、線性代數計算庫(Basic Linear Algebra Subprograms,BLAS)等;昇騰計算調優引擎庫,例如運算元調優、子圖調優、梯度調優、模型壓縮以及AI框架介面卡。

 

3.    昇騰計算編譯引擎

本層主要提供圖編譯器(Graph Compiler)和TBE(Tensor Boost Engine)運算元開發支援。前者將使用者輸入中間表達(Intermediate Representation,IR)的計算圖編譯成NPU執行的模型。後者提供使用者開發自定義運算元所需的工具。

 

4.    昇騰計算執行引擎

本層負責模型和運算元的執行,提供如執行時(Runtime)庫(執行記憶體分配、模型管理、資料收發等)、圖執行器(Graph Executor)、數字視覺預處理(Digital Vision Pre-Processing,DVPP)、人工智慧預處理(Artificial Intelligence Pre-Processing,AIPP)、華為集合通訊庫(Huawei Collective Communication Library,HCCL)等功能單元。

 

5.  昇騰計算基礎層

本層主要為其上各層提供基礎服務,如共享虛擬記憶體(Shared Virtual Memory,SVM)、裝置虛擬化(Virtual Machine,VM)、主機-裝置通訊(Host Device Communication,HDC)等。

 

AscendCL(Ascend Computing Language,昇騰計算語言) 是昇騰計算開放程式設計框架,是對底層昇騰計算服務介面的封裝,它提供執行時資源(例如裝置、記憶體等)管理、模型載入與執行、運算元載入與執行、圖片資料編解碼/裁剪/縮放處理等API庫,實現在昇騰CANN平臺上進行深度學習推理計算、圖形影像預處理、單運算元加速計算等能力。簡單來說,就是統一的API框架,實現對所有資源的呼叫。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70025453/viewspace-2951854/,如需轉載,請註明出處,否則將追究法律責任。

相關文章