昇騰 AI 處理器 CANN 架構與編程

蘇統華、杜鵬、周斌

  • 昇騰 AI 處理器 CANN 架構與編程-preview-1
  • 昇騰 AI 處理器 CANN 架構與編程-preview-2
  • 昇騰 AI 處理器 CANN 架構與編程-preview-3
昇騰 AI 處理器 CANN 架構與編程-preview-1

買這商品的人也買了...

商品描述

本書專註昇騰 AI處理器和昇騰 AI異構計算架構CANN,全書共7章。第1章介紹昇騰 AI處理器硬 件架構。首先介紹昇騰 AI處理器的達芬奇架構,為後續章節提供了計算單元、存儲系統、控制單元、指令 集等知識儲備,然後介紹基於該架構分別面向訓練和推理的昇騰 AI處理器,最後介紹圍繞昇騰 AI處理器 的 Atlas系列硬件產品。第2章介紹昇騰 AI異構計算架構CANN。涵蓋CANN概述、昇騰計算圖、訓練和 推理兩種場景運行架構、開發環境安裝及全流程開發和全流程開發工具鏈 MindStudio等重要內容。第3 章介紹 CANN自定義算子開發,以示例的方式介紹TBEDSL、TBETIK和 AICPU三種算子開發方式。第 4章介紹昇騰計算語言。首先講述 AscendCL的編程模型,包括線程模型和內存模型,接著介紹 AscendCL 提供的五大開放能力,包括資源管理、模型加載與執行、算子能力開發和高級功能等。第5章介紹基於 CANN的通用 AI模型訓練方法。以模型訓練的全流程作為起始,對比了主流深度學習框架的異同,然後 講述基於 CANN的模型訓練方法和訓練輔助工具的使用方法。第6章介紹基於 CANN的模型部署方法。 講述模型部署全流程以及數字視覺預處理模塊、模型轉換工具、模型壓縮工具的使用方法。第7章介紹兩 個典型行業應用實例。圍繞個性化影視推薦系統和智能巡檢機器人,提供全流程的完整開發實例。 本書是昇騰 AI處理器架構、昇騰 AI異構計算架構與編程的官方教材,可以作為高校人工智能、智 能科學與技術、電腦科學與技術、軟件工程、電子信息工程、自動化等專業的教材,也可以作為從事人 工智能系統開發的科研和工程技術人員的參考用書。

目錄大綱

 

 

CONTENTS

 

目錄

 

引言00

 

第1章昇騰AI基礎00

 

1.1人工智能與深度學習00

 

1.1.1人工智能簡史00

 

1.1.2深度學習概述00

 

1.2達芬奇架構00

 

1.2.1計算單元00

 

1.2.2存儲系統0

 

1.2.3控制單元0

 

1.2.4指令集設計0

 

1.2.5捲積加速計算實例0

 

1.3昇騰AI處理器0

 

1.3.1昇騰310處理器0

 

1.3.2昇騰910處理器0

 

1.4Atlas硬件計算平臺0

 

1.4.1模組(Atlas 200)與開發者套件(Atlas 200DK)0

 

1.4.2Atlas 300板卡0

 

1.4.3Atlas 500智能小站0

 

1.4.4服務器(Atlas 800/Atlas 500 Pro)0

 

1.4.5Atlas 900 AI集群0

 

1.5本章小結0

 

第2章昇騰AI異構計算架構CANN0

 

2.1CANN概述0

 

2.2昇騰計算圖0

 

2.3運行架構0

 

2.3.1訓練場景運行架構0

 

2.3.2推理場景運行架構0

 

2.4開發環境安裝0

 

2.5全流程開發0

 

2.5.1開發工具鏈0

 

2.5.2典型開發流程0

 

2.6全流程開發工具鏈MindStudio0

 

2.6.1MindStudio簡介0

 

2.6.2模型開發0

 

2.6.3應用開發與調優0

 

2.6.4算子開發0

 

2.7本章小結0

 

昇騰AI處理器CANN架構與編程

目錄

 

 

第3章CANN自定義算子開發0

 

3.1TBE開發概述0

 

3.1.1算子基本概念0

 

3.1.2TBE基本概念0

 

3.1.3TBE開發方式與流程0

 

3.2TBE DSL算子開發0

 

3.2.1開發環境準備0

 

3.2.2DSL的API接口0

 

3.2.3DSL算子開發示例0

 

3.2.4算子原型定義與算子信息定義0

 

3.2.5算子適配插件開發與算子編譯及部署0

 

3.2.6算子單元測試0

 

3.2.7算子系統測試

 

3.3TBE TIK算子開發

 

3.3.1TIK的適用場景

 

3.3.2TIK算子開發示例

 

3.3.3算子的性能優化

 

3.4AI CPU算子開發

 

3.5本章小結

 

第4章昇騰計算語言

 

4.1AscendCL編程模型

 

4.1.1基本概念

 

4.1.2邏輯架構

 

4.1.3線程模型

 

4.1.4內存模型

 

4.2資源管理

 

4.2.1初始化管理

 

4.2.2Device管理

 

4.2.3Context管理

 

4.2.4Stream管理

 

4.2.5內存管理

 

4.3模型加載與執行

 

4.3.1模型加載

 

4.3.2模型執行

 

4.3.3設置動態Batch/動態分辨率/動態AIPP/動態維度

 

4.3.4準備模型執行的輸入/輸出數據結構

 

4.4算子功能開發

 

4.4.1算子功能開發典型流程

 

4.4.2封裝成AscendCL的算子

 

4.4.3未被封裝成AscendCL的算子

 

4.5輔助功能

 

4.5.1同步/異步

 

4.5.2AI Core異常信息獲取

 

4.5.3日誌管理 

 

4.5.4Profiling性能數據採集

 

4.6高級功能

 

4.6.1圖開發

 

4.6.2分佈式開發

 

4.6.3融合規則開發

 

4.7本章小結

 

第5章CANN模型訓練

 

5.1深度學習訓練框架

 

5.1.1MindSpore

 

5.1.2TensorFlow

 

5.1.3PyTorch

 

5.1.4主流框架對比

 

5.2深度學習訓練流程

 

5.2.1數據處理

 

5.2.2模型搭建與訓練配置

 

5.2.3訓練網絡與保存模型

 

5.3CANN訓練實例之MindSpore

 

5.3.1環境搭建

 

5.3.2ResNet50實現圖像分類

 

5.3.3高階技巧

 

5.4CANN訓練框架之其他框架

 

5.4.1CANN與TensorFlow的適配原理

 

5.4.2使用TensorFlow訓練ResNet50

 

5.4.3CANN與PyTorch的適配原理

 

5.4.4使用PyTorch訓練ResNet50

 

5.5網絡模型遷移和在線推理

 

5.5.1模型遷移和在線推理流程

 

5.5.2性能分析工具——Profiling

 

5.5.3算子自動調優工具——AutoTune

 

5.5.4精度分析工具——Data Dump

 

5.6本章小結

 

第6章CANN模型部署

 

6.1模型部署概述

 

6.1.1模型部署全流程

 

6.1.2調用AscendCL實現推理執行

 

6.2CANN的數字視覺預處理模塊

 

6.2.1DVPP工作原理

 

6.2.2DVPP使用方法

 

6.3CANN的模型轉換工具

 

6.3.1ATC工具工作原理

 

6.3.2ATC工具使用方法

 

6.3.3AIPP

 

6.3.4使用MindStudio完成模型轉換

 

6.4CANN的昇騰模型壓縮工具

 

6.4.1模型量化原理

 

6.4.2昇騰模型壓縮工具簡介

 

6.5CANN的模型部署實例

 

6.5.1TensorFlow模型推理——以ResNet50為例

 

6.5.2MindSpore模型推理——以Faster RCNN為例

 

6.5.3PyTorch模型推理——以Transformer為例

 

6.6本章小結

 

第7章行業應用實例

 

7.1個性化影視推薦系統全流程開發實例

 

7.1.1實例簡介

 

7.1.2系統總體設計

 

7.1.3系統詳細設計與實現

 

7.1.4實例系統部署

 

7.2基於文字感知的智能巡檢機器人全流程開發實例

 

7.2.1實例簡介

 

7.2.2系統總體設計

 

7.2.3系統詳細設計與實現

 

7.2.4實例系統部署

 

7.3本章小結