最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

昇騰AI處理器架構(gòu)與編程 深入理解CANN技術(shù)原理及應(yīng)用

2023-06-08 19:50 作者:彌敦道扛把子  | 我要投稿

鏈接:https://pan.baidu.com/s/1-BmP3C1Ydyx0jjr4IMsKNg?pwd=eem7?

提取碼:eem7



本書(shū)是華為公司官方出品!華為輪值董事長(zhǎng)徐直軍、中國(guó)工程院院士高文、中國(guó)科學(xué)院院士毛軍發(fā)作序!揭開(kāi)達(dá)芬奇架構(gòu)AI處理器的神秘面紗、掌握強(qiáng)大算力的使用方法!昇騰Ascend AI處理器是業(yè)界領(lǐng)先的人工智能運(yùn)算芯片,可以應(yīng)用于未來(lái)的各類人工智能場(chǎng)景。本書(shū)由上海交大梁曉峣教授執(zhí)筆,華為公司一線技術(shù)支持,并提供了大量可以運(yùn)行的算例。本書(shū)可以作為廣大AI工程師的參考用書(shū),也可以作為高等學(xué)校人工智能、計(jì)算機(jī)等專業(yè)“微處理器/微控制器/人工智能芯片”等相關(guān)課程教材。



內(nèi)容簡(jiǎn)介

本書(shū)系統(tǒng)論述了基本達(dá)芬奇架構(gòu)的昇騰(Asccnd)AI處理器的原理、架構(gòu)與開(kāi)發(fā)技術(shù)。全書(shū)共分6章,內(nèi)容涵蓋了神經(jīng)網(wǎng)絡(luò)理論基礎(chǔ)、計(jì)算芯片與開(kāi)源框架、昇騰AI處理器軟硬件架構(gòu)、編程理論與方法,以及典型案例等。為便于讀者學(xué)習(xí),書(shū)中還給出了基本昇騰AI處理器的豐富的技術(shù)文檔、開(kāi)發(fā)實(shí)例等線上資源。

本書(shū)可以作為普通高等學(xué)校人工智能、智能科學(xué)與技術(shù)、計(jì)算機(jī)科學(xué)與技術(shù)、電子信息工程、自動(dòng)化等專業(yè)的本科生及研究生教材,也適合作為從事人工智能系統(tǒng)設(shè)計(jì)的科研和工程技術(shù)人員的參考用書(shū)。


作者簡(jiǎn)介

梁曉峣 上海交通大學(xué)計(jì)算機(jī)科學(xué)與工程系教授、博士生導(dǎo)師、學(xué)科帶頭人。畢業(yè)于美國(guó)哈佛大學(xué),獲得博士學(xué)位。研究方向包括計(jì)算機(jī)體系結(jié)構(gòu)、集成電路設(shè)計(jì)、通用圖形處理器和人工智能芯片架構(gòu)等。發(fā)表論文80余篇(包括國(guó)際d級(jí)學(xué)術(shù)會(huì)議(ISCA、HPCA、MICRO、ISSCC、DAC、ICCAD等)論文),其中2篇入選計(jì)算機(jī)體系結(jié)構(gòu)年度z佳論文(IEEE MICRO TOP PICKS)。




目錄

CONTENTS


目錄


第1章基礎(chǔ)理論00


1.1人工智能簡(jiǎn)史00


1.2深度學(xué)習(xí)概論00


1.3神經(jīng)網(wǎng)絡(luò)理論0


1.3.1神經(jīng)元模型0


1.3.2感知機(jī)0


1.3.3多層感知機(jī)0


1.3.4卷積神經(jīng)網(wǎng)絡(luò)0


1.3.5應(yīng)用示例0


第2章行業(yè)背景0


2.1神經(jīng)網(wǎng)絡(luò)芯片現(xiàn)狀0


2.1.1CPU0


2.1.2GPU0


2.1.3TPU0


2.1.4FPGA0


2.1.5昇騰AI處理器0


2.2神經(jīng)網(wǎng)絡(luò)芯片加速理論0


2.2.1GPU加速理論0


2.2.2TPU加速理論0


2.3深度學(xué)習(xí)框架0


2.3.1MindSpore0


2.3.2Caffe0


2.3.3TensorFlow0


2.3.4PyTorch0


2.4深度學(xué)習(xí)編譯框架——TVM0



第3章硬件架構(gòu)0


3.1昇騰AI處理器總覽0


3.2達(dá)芬奇架構(gòu)0


3.2.1計(jì)算單元0


3.2.2存儲(chǔ)系統(tǒng)0


3.2.3控制單元0


3.2.4指令集設(shè)計(jì)0


3.3卷積加速原理0


3.3.1卷積加速0


3.3.2架構(gòu)對(duì)比0



第4章軟件架構(gòu)0


4.1昇騰AI軟件??傆[0


4.2神經(jīng)網(wǎng)絡(luò)軟件流


4.2.1流程編排器


4.2.2數(shù)字視覺(jué)預(yù)處理模塊


4.2.3張量加速引擎(TBE)


4.2.4運(yùn)行管理器


4.2.5任務(wù)調(diào)度器


4.2.6框架管理器


4.2.7神經(jīng)網(wǎng)絡(luò)軟件流應(yīng)用


4.3開(kāi)發(fā)工具鏈


4.3.1功能簡(jiǎn)介


4.3.2功能框架


4.3.3工具功能


第5章編程方法


5.1深度學(xué)習(xí)開(kāi)發(fā)基礎(chǔ)


5.1.1深度學(xué)習(xí)編程理論


5.1.2深度學(xué)習(xí)推理優(yōu)化原理


5.1.3深度學(xué)習(xí)推理引擎


5.2昇騰AI軟件棧中的技術(shù)


5.2.1模型生成階段


5.2.2應(yīng)用編譯與部署階段


5.3自定義算子開(kāi)發(fā)


5.3.1開(kāi)發(fā)步驟


5.3.2AI CPU算子開(kāi)發(fā)


5.3.3AI Core算子開(kāi)發(fā)


5.4自定義應(yīng)用開(kāi)發(fā)


第6章實(shí)戰(zhàn)案例


6.1評(píng)價(jià)標(biāo)準(zhǔn)


6.1.1精度


6.1.2交并比


6.1.3均值平均精度


6.1.4吞吐量和時(shí)延


6.1.5能效比


6.2圖像識(shí)別


6.2.1數(shù)據(jù)集:ImageNet


6.2.2算法:ResNet


6.2.3模型遷移實(shí)踐


6.3目標(biāo)檢測(cè)


6.3.1數(shù)據(jù)集:COCO


6.3.2算法:YoloV3


6.3.3自定義算子實(shí)踐


附錄A縮略詞列表


附錄BAscend開(kāi)發(fā)者社區(qū)及資料下載


附錄C智能開(kāi)發(fā)平臺(tái)ModelArts簡(jiǎn)介



查看全部↓

精彩書(shū)摘

第3章



硬件架構(gòu)


為了滿足當(dāng)今飛速發(fā)展的深度神經(jīng)網(wǎng)絡(luò)對(duì)芯片算力的需求,華為公司于2018年推出了昇騰系列AI處理器,可以對(duì)整型數(shù)或浮點(diǎn)數(shù)提供強(qiáng)大高效的乘加計(jì)算力。由于昇騰AI處理器具有強(qiáng)大的算力并且在硬件體系結(jié)構(gòu)上對(duì)于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行了特殊的優(yōu)化,從而使之能以極高的效率完成目前主流深度神經(jīng)網(wǎng)絡(luò)的前向計(jì)算,因此在智能終端等領(lǐng)域擁有廣闊的應(yīng)用前景。



3.1昇騰AI處理器總覽





昇騰AI處理器本質(zhì)上是一個(gè)片上系統(tǒng),如圖31所示,主要可以應(yīng)用在與圖像、視頻、語(yǔ)音、文字處理相關(guān)的場(chǎng)景。其主要的架構(gòu)組成部件包括特制的計(jì)算單元、大容量的存儲(chǔ)單元和相應(yīng)的控制單元。該處理器大致可以劃分為: 控制CPU(Control CPU)、AI計(jì)算引擎(包括AI Core和AI CPU)、多層級(jí)的片上系統(tǒng)緩存(Cache)或緩沖區(qū)(Buffer)、數(shù)字視覺(jué)預(yù)處理模塊(Digital Vision PreProcessing,DVPP)等。處理器可以采用LPDDR4高速主存控制器接口,價(jià)格較低。目前主流片上系統(tǒng)處理器的主存一般由DDR(Double Data Rate,雙倍速率內(nèi)存)或HBM(High Bandwidth Memory,高帶寬存儲(chǔ)器)構(gòu)成,用來(lái)存放大量的數(shù)據(jù)。HBM相對(duì)于DDR存儲(chǔ)帶寬較高,是行業(yè)的發(fā)展方向。其他通用的外設(shè)接口模塊包括USB、磁盤、網(wǎng)卡、GPIO、I2C和電源管理接口等。



圖31昇騰AI處理器邏輯圖



當(dāng)該處理器作為計(jì)算服務(wù)器的加速卡使用時(shí),會(huì)通過(guò)PCIe總線接口和服務(wù)器其他單元實(shí)現(xiàn)數(shù)據(jù)互換。以上所有這些模塊通過(guò)基于CHI協(xié)議的片上環(huán)形總線相連,實(shí)現(xiàn)模塊間的數(shù)據(jù)連接通路并保證數(shù)據(jù)的共享和一致性。

昇騰AI處理器集成了多個(gè)CPU核心,每個(gè)核心都有獨(dú)立的L1和L2緩存,所有核心共享一個(gè)片上L3緩存。集成的CPU核心按照功能可以劃分為專用于控制處理器整體運(yùn)行的控制CPU 和專用于承擔(dān)非矩陣類復(fù)雜計(jì)算的AI CPU。兩類任務(wù)占用的CPU核數(shù)可由軟件根據(jù)系統(tǒng)實(shí)際運(yùn)行情況動(dòng)態(tài)分配。

除了CPU之外,該處理器真正的算力擔(dān)當(dāng)是采用了達(dá)芬奇架構(gòu)的AI Core。這些AI Core通過(guò)特別設(shè)計(jì)的架構(gòu)和電路實(shí)現(xiàn)了高通量、大算力和低功耗,特別適合處理深度學(xué)習(xí)中神經(jīng)網(wǎng)絡(luò)必需的常用計(jì)算,如矩陣相乘等。目前該處理器能對(duì)整型數(shù)(INT8、INT4)或?qū)Ω↑c(diǎn)數(shù)(FP16)提供強(qiáng)大的乘加計(jì)算力。由于采用了模塊化的設(shè)計(jì),可以很方便地通過(guò)疊加模塊的方法提高后續(xù)芯片的計(jì)算力。

昇騰AI處理器架構(gòu)與編程——深入理解CANN技術(shù)原理及應(yīng)用

第3章硬件架構(gòu)

0

0


針對(duì)深度神經(jīng)網(wǎng)絡(luò)參數(shù)量大、中間值多的特點(diǎn),該處理器還特意為AI計(jì)算引擎配備了容量為8MB的片上緩沖區(qū)(L2緩沖區(qū)),提供高帶寬、低延遲、高效率的數(shù)據(jù)交換和訪問(wèn)。能夠快速訪問(wèn)到所需的數(shù)據(jù)對(duì)于提高神經(jīng)網(wǎng)絡(luò)算法的整體性能至關(guān)重要,同時(shí)將大量需要復(fù)用的中間數(shù)據(jù)緩存在片上對(duì)于降低系統(tǒng)整體功耗意義重大。為了能夠?qū)崿F(xiàn)計(jì)算任務(wù)在AI Core上的高效分配和調(diào)度,該處理器還特意配備了一個(gè)專用CPU作為任務(wù)調(diào)度器(Task Scheduler,TS)。該CPU專門服務(wù)于AI Core和AI CPU,而不承擔(dān)任何其他的事務(wù)和工作。

數(shù)字視覺(jué)預(yù)處理模塊主要完成圖像視頻的編解碼,支持4K4K指分辨率為4096×2160像素,表示超高清分辨率視頻。分辨率的視頻處理,對(duì)圖像支持JPEG和PNG等格式的處理。來(lái)自主機(jī)端存儲(chǔ)器或網(wǎng)絡(luò)的視頻和圖像數(shù)據(jù),在進(jìn)入昇騰AI處理器的計(jì)算引擎處理之前,需要生成滿足處理要求的輸入格式、分辨率等,因此需要調(diào)用數(shù)字視覺(jué)預(yù)處理模塊進(jìn)行預(yù)處理以實(shí)現(xiàn)格式和精度轉(zhuǎn)換等要求。數(shù)字視覺(jué)預(yù)處理模塊主要實(shí)現(xiàn)視頻解碼(Video Decoder,VDEC)、視頻編碼(Video Encoder,VENC)、JPEG編解碼(JPEG Decoder/Encoder,JPEGD/E)、PNG解碼(PNG Decoder,PNGD)和視覺(jué)預(yù)處理(Vision PreProcessing Core,VPC)等功能。圖像預(yù)處理可以完成對(duì)輸入圖像的上/下采樣、裁剪、色調(diào)轉(zhuǎn)換等多種功能。數(shù)字視覺(jué)預(yù)處理模塊采用了專用定制電路的方式來(lái)實(shí)現(xiàn)高效率的圖像處理功能,對(duì)應(yīng)于每一種不同的功能都會(huì)設(shè)計(jì)一個(gè)相應(yīng)的硬件電路模塊來(lái)完成計(jì)算工作。在數(shù)字視覺(jué)預(yù)處理模塊收到圖像視頻處理任務(wù)后,會(huì)讀取需要處理的圖像視頻數(shù)據(jù)并分發(fā)到內(nèi)部對(duì)應(yīng)的處理模塊進(jìn)行處理,待處理完成后將數(shù)據(jù)寫(xiě)回到內(nèi)存中等待后續(xù)步驟。



3.2達(dá)芬奇架構(gòu)





不同于傳統(tǒng)的支持通用計(jì)算的CPU和GPU,也不同于專用于某種特定算法的專用芯片ASIC,達(dá)芬奇架構(gòu)本質(zhì)上是為了適應(yīng)某個(gè)特定領(lǐng)域中的常見(jiàn)應(yīng)用和算法,通常稱為“特定域架構(gòu)(Domain Specific Architecture,DSA)”芯片。

昇騰AI處理器的計(jì)算核心主要由AI Core構(gòu)成,負(fù)責(zé)執(zhí)行標(biāo)量、向量和張量相關(guān)的計(jì)算密集型算子。AI Core采用了達(dá)芬奇架構(gòu),其基本結(jié)構(gòu)如圖32所示,從控制上可以看成是一個(gè)相對(duì)簡(jiǎn)化的現(xiàn)代微處理器的基本架構(gòu)。它包括了三種基礎(chǔ)計(jì)算資源: 矩陣計(jì)算單元(Cube Unit)、向量計(jì)算單元(Vector Unit)和標(biāo)量計(jì)算單元(Scalar Unit)。這三種計(jì)算單元分別對(duì)應(yīng)了張量、向量和標(biāo)量三種常見(jiàn)的計(jì)算模式,在實(shí)際的計(jì)算過(guò)程中各司其職,形成了三條獨(dú)立的執(zhí)行流水線,在系統(tǒng)軟件的統(tǒng)一調(diào)度下互相配合達(dá)到優(yōu)化的計(jì)算效率。此外在矩陣計(jì)算單元和向量計(jì)算單元內(nèi)部還提供了不同精度、不同類型的計(jì)算模式。AI Core中的矩陣計(jì)算單元目前可以支持INT8和FP16的計(jì)算; 向量計(jì)算單元目前可以支持FP16和FP32以及多種整型數(shù)的計(jì)算。



圖32AI Core架構(gòu)圖



為了配合AI Core中數(shù)據(jù)的傳輸和搬運(yùn),圍繞著三種計(jì)算資源還分布式地設(shè)置了一系列的片上緩沖區(qū),比如用來(lái)放置整體圖像特征數(shù)據(jù)、網(wǎng)絡(luò)參數(shù)以及中間結(jié)果的輸入緩沖區(qū)(Input Buffer,IB)和輸出緩沖區(qū)(Output Buffer,OB),以及提供一些臨時(shí)變量的高速寄存器單元,這些寄存器單元位于各個(gè)計(jì)算單元中。這些存儲(chǔ)資源的設(shè)計(jì)架構(gòu)和組織方式不盡相同,但目的都是為了更好地適應(yīng)不同計(jì)算模式下格式、精度和數(shù)據(jù)排布的需求。這些存儲(chǔ)資源和相關(guān)聯(lián)的計(jì)算資源相連,或者和總線接口單元(Bus Interface Unit,BIU)相連,從而可以獲得外部總線上的數(shù)據(jù)。

在AI Core中,輸入緩沖區(qū)之后設(shè)置了一個(gè)存儲(chǔ)轉(zhuǎn)換單元(Memory Transfer Unit,MTE)。這是達(dá)芬奇架構(gòu)的特色之一,主要的目的是為了以極高的效率實(shí)現(xiàn)數(shù)據(jù)格式的轉(zhuǎn)換。比如前面提到GPU要通過(guò)矩陣計(jì)算來(lái)實(shí)現(xiàn)卷積,首先要通過(guò)Img2Col的方法把輸入的網(wǎng)絡(luò)和特征數(shù)據(jù)重新以一定的格式排列起來(lái)。這一步在GPU中是通過(guò)軟件來(lái)實(shí)現(xiàn)的,效率比較低下。達(dá)芬奇架構(gòu)采用了一個(gè)專用的存儲(chǔ)轉(zhuǎn)換單元來(lái)完成這一過(guò)程,將這一步完全固化在硬件電路中,可以在很短的時(shí)間之內(nèi)完成整個(gè)轉(zhuǎn)置過(guò)程。由于類似轉(zhuǎn)置的計(jì)算在深度神經(jīng)網(wǎng)絡(luò)中出現(xiàn)得極為頻繁,這種定制化電路模塊的設(shè)計(jì)可以提升AI Core的執(zhí)行效率,從而能夠?qū)崿F(xiàn)不間斷的卷積計(jì)算。

AI Core中的控制單元主要包括系統(tǒng)控制模塊、標(biāo)量指令處理隊(duì)列、指令發(fā)射模塊、矩陣運(yùn)算隊(duì)列、向量運(yùn)算隊(duì)列、存儲(chǔ)轉(zhuǎn)換隊(duì)列和事件同步模塊。系統(tǒng)控制模塊負(fù)責(zé)指揮和協(xié)調(diào)AI Core的整體運(yùn)行模式、配置參數(shù)和實(shí)現(xiàn)功耗控制等。標(biāo)量指令處理隊(duì)列主要實(shí)現(xiàn)控制指令的譯碼。當(dāng)指令被譯碼并通過(guò)指令發(fā)射模塊順次發(fā)射出去后,根據(jù)指令的不同類型,指令將會(huì)分別發(fā)送到矩陣運(yùn)算隊(duì)列、向量運(yùn)算隊(duì)列和存儲(chǔ)轉(zhuǎn)換隊(duì)列。三個(gè)隊(duì)列中的指令依據(jù)先進(jìn)先出的方式分別輸出到矩陣計(jì)算單元、向量計(jì)算單元和存儲(chǔ)轉(zhuǎn)換單元進(jìn)行相應(yīng)的計(jì)算。不同的指令陣列和計(jì)算資源構(gòu)成了獨(dú)立的流水線,可以并行執(zhí)行以提高指令執(zhí)行效率。如果指令執(zhí)行過(guò)程中出現(xiàn)依賴關(guān)系或者有強(qiáng)制的時(shí)間先后順序要求,則可以通過(guò)事件同步模塊來(lái)調(diào)整和維護(hù)指令的執(zhí)行順序。事件同步模塊完全由軟件控制,在軟件編寫(xiě)的過(guò)程中可以通過(guò)插入同步符的方式來(lái)指定每一條流水線的執(zhí)行時(shí)序從而達(dá)到調(diào)整指令執(zhí)行順序的目的。

在AI Core中,存儲(chǔ)單元為各個(gè)計(jì)算單元提供被轉(zhuǎn)置過(guò)并符合要求的數(shù)據(jù),計(jì)算單元返回運(yùn)算的結(jié)果給存儲(chǔ)單元,控制單元為計(jì)算單元和存儲(chǔ)單元提供指令控制,三者相互協(xié)調(diào)合作完成計(jì)算任務(wù)。


查看全部↓

前言/序言

PREFACE


前言


日出東方,其道大光;鯤鵬展翅,旭日昇騰!

一款芯片的研發(fā),是一個(gè)漫長(zhǎng)的過(guò)程;一款芯片的研發(fā),也許就是一代人的心路歷程。

隨著深度學(xué)習(xí)在人工智能諸多領(lǐng)域的異軍突起,從CPU到GPU,再到各類專屬領(lǐng)域的定制芯片,我們迎來(lái)了計(jì)算機(jī)體系結(jié)構(gòu)的黃金時(shí)代!然而一款處理器芯片的研發(fā)周期,少則數(shù)年,多則數(shù)十年。在滾滾向前的時(shí)代大潮中,只有那一批最耐得住寂寞,經(jīng)得起誘惑的匠人,才能打造出計(jì)算機(jī)行業(yè)皇冠上最閃亮的明珠。

所以,當(dāng)華為邀請(qǐng)我為昇騰AI處理器寫(xiě)一本教材時(shí),我毫不猶豫地答應(yīng)了。也許是出于對(duì)硬科技公司的高度認(rèn)同,也許是出于對(duì)同道中人的由衷尊敬,更可能是出于一種骨子里的使命感,我深深地覺(jué)得我們這個(gè)時(shí)代太需要一顆代表國(guó)內(nèi)科技最高水平的中國(guó)“芯”了!


昇騰AI處理器架構(gòu)與編程 深入理解CANN技術(shù)原理及應(yīng)用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
新蔡县| 武乡县| 饶阳县| 昭通市| 杭锦旗| 故城县| 琼中| 鄯善县| 共和县| 屏边| 昌宁县| 法库县| 新津县| 贡嘎县| 阿勒泰市| 清水县| 新田县| 小金县| 合水县| 凭祥市| 肇庆市| 连州市| 马关县| 曲靖市| 屯昌县| 铜梁县| 韶关市| 舞钢市| 宁化县| 平山县| 洪江市| 于都县| 宣威市| 巴塘县| 大冶市| 穆棱市| 天峨县| 阜阳市| 蒲江县| 建阳市| 花垣县|