ASCEND C異構(gòu)并行程序設(shè)計(jì)—— 昇騰算子編程指南 版權(quán)信息
- ISBN:9787115649720
- 條形碼:9787115649720 ; 978-7-115-64972-0
- 裝幀:平裝-膠訂
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類(lèi):>>
ASCEND C異構(gòu)并行程序設(shè)計(jì)—— 昇騰算子編程指南 本書(shū)特色
1、作者本身是哈工大軟件學(xué)院副院長(zhǎng),具備教學(xué)經(jīng)驗(yàn)和科研經(jīng)驗(yàn),且出版了兩本?N騰方面的圖書(shū),具有一定的寫(xiě)作經(jīng)驗(yàn);
2、合作作者來(lái)自華為?N騰團(tuán)隊(duì),是?N騰首席架構(gòu)師,保證圖書(shū)的技術(shù)是新且準(zhǔn)確的;
3、本書(shū)介紹基于?N騰架構(gòu)的人工智能編程在大模型等前沿領(lǐng)域的應(yīng)用,覆蓋新熱點(diǎn),適合ICT和人工智能行業(yè)工程師學(xué)習(xí),也適合高校學(xué)生閱讀。
ASCEND C異構(gòu)并行程序設(shè)計(jì)—— 昇騰算子編程指南 內(nèi)容簡(jiǎn)介
本書(shū)以昇騰算子編程語(yǔ)言Ascend C的高效開(kāi)發(fā)為核心,系統(tǒng)介紹華為面向人工智能的昇騰AI處理器架構(gòu)、硬件抽象及其軟件棧。本書(shū)由淺入深,通過(guò)案例講解知識(shí)點(diǎn),理論與實(shí)踐并重。全書(shū)分為6章,分別介紹了昇騰AI處理器軟硬件架構(gòu)、Ascend C 快速入門(mén)、Ascend C編程模型與編程范式、Ascend C算子開(kāi)發(fā)流程、Ascend C算子調(diào)試調(diào)優(yōu)和Ascend C大模型算子優(yōu)化。
本書(shū)適合人工智能產(chǎn)業(yè)的研發(fā)人員閱讀,也適合軟件工程、人工智能、信息安全、大數(shù)據(jù)、物聯(lián)網(wǎng)等專(zhuān)業(yè)的本科生學(xué)習(xí)。
ASCEND C異構(gòu)并行程序設(shè)計(jì)—— 昇騰算子編程指南 目錄
第 1 章 ?N騰AI處理器軟硬件架構(gòu) 11.1 Atlas硬件計(jì)算平臺(tái) 11.1.1 Atlas服務(wù)器 11.1.2 Atlas集群 31.2 ?N騰AI處理器 31.3 達(dá) 芬奇架構(gòu) 51.3.1 計(jì)算單元 6第 1 章 ?N騰AI處理器軟硬件架構(gòu) 11.1 Atlas硬件計(jì)算平臺(tái) 11.1.1 Atlas服務(wù)器 11.1.2 Atlas集群 31.2 ?N騰AI處理器 31.3 達(dá) 芬奇架構(gòu) 51.3.1 計(jì)算單元 61.3.2 存儲(chǔ)系統(tǒng) 131.3.3 控制單元 171.3.4 指令集設(shè)計(jì) 191.4 硬件感知 201.5 ?N騰異構(gòu)計(jì)算架構(gòu) 221.6 小結(jié) 231.7 測(cè)驗(yàn)題 231.8 實(shí)踐題 24第 2 章 Ascend C快速入門(mén) 252.1 并行計(jì)算的基本原理 252.1.1 并行體系結(jié)構(gòu)的分類(lèi) 262.1.2 大模型并行加速的基本原理 282.1.3 并行效率量化的原理 292.2 Ascend C開(kāi)發(fā)環(huán)境準(zhǔn)備 302.2.1 版本選擇 302.2.2 環(huán)境依賴 312.2.3 安裝開(kāi)發(fā)套件軟件包 312.3 Ascend C算子的開(kāi)發(fā)調(diào)用 322.3.1 CANN算子的類(lèi)型 322.3.2 運(yùn)行時(shí)和任務(wù)調(diào)度 342.3.3 兩種核函數(shù)的調(diào)用方式 382.3.4 調(diào)用一個(gè)?N騰算子 392.4 ?N騰向量加法程序的加速比 432.5 小結(jié) 432.6 測(cè)驗(yàn)題 432.7 實(shí)踐題 44第 3 章 Ascend C編程模型與編程范式 453.1 Ascend C編程模型 453.1.1 AI Core硬件抽象 453.1.2 SPMD編程模型 473.1.3 流水線編程范式 483.2 Ascend C語(yǔ)法擴(kuò)展 503.2.1 Ascend C API概述 513.2.2 數(shù)據(jù)存儲(chǔ) 533.2.3 任務(wù)間通信與同步模塊 563.2.4 資源管理模塊 573.2.5 臨時(shí)變量 583.3 向量編程范式 593.3.1 算子分析 603.3.2 核函數(shù)的定義與封裝 613.3.3 算子的數(shù)據(jù)通路 623.3.4 算子類(lèi)的實(shí)現(xiàn) 633.3.5 算子的切分策略 673.4 矩陣編程范式 683.4.1 基礎(chǔ)知識(shí) 683.4.2 高階API實(shí)現(xiàn)Matmul算子流程概述 723.4.3 Matmul算子Kernel側(cè)的開(kāi)發(fā) 723.4.4 Matmul算子Host側(cè)的開(kāi)發(fā) 783.5 混合編程范式 813.5.1 matmul_leakyrelu算子的基本概念 813.5.2 matmul_leakyrelu算子Kernel側(cè)的開(kāi)發(fā) 823.6 更多Ascend C算子樣例 883.6.1 雙曲正弦函數(shù)算子核函數(shù)的實(shí)現(xiàn) 893.6.2 Strassen矩陣乘法算子核函數(shù)的實(shí)現(xiàn) 913.6.3 LayerNorm核函數(shù)的實(shí)現(xiàn) 1013.7 小結(jié) 1053.8 測(cè)驗(yàn)題 1063.9 實(shí)踐題 106第 4 章 Ascend C算子開(kāi)發(fā)流程 1084.1 算子開(kāi)發(fā)流程概述 1084.2 自動(dòng)生成算子工程 1094.3 算子開(kāi)發(fā)流程:Kernel側(cè) 1114.3.1 函數(shù)原型的聲明 1134.3.2 算子類(lèi)的實(shí)現(xiàn) 1134.4 算子開(kāi)發(fā)流程:Host側(cè) 1144.4.1 Tiling實(shí)現(xiàn) 1144.4.2 shape推導(dǎo)等函數(shù)的實(shí)現(xiàn) 1174.4.3 算子原型的注冊(cè) 1184.5 算子工程的編譯部署 1194.5.1 算子工程的編譯 1194.5.2 算子包的部署 1214.6 PyTorch算子調(diào)用 1224.6.1 PyTorch算子調(diào)用的基本原理 1224.6.2 安裝PyTorch框架 1224.6.3 安裝torch_npu插件 1234.6.4 安裝APEX模塊 1244.6.5 調(diào)用測(cè)試腳本 1254.7 Ascend C算子在整網(wǎng)中的替換 1264.7.1 替換算子的工程開(kāi)發(fā)及編譯部署 1264.7.2 PyTorch適配插件的開(kāi)發(fā) 1274.7.3 算子替換 1294.8 小結(jié) 1304.9 測(cè)驗(yàn)題 1304.10 實(shí)踐題 131第 5 章 Ascend C算子調(diào)試調(diào)優(yōu) 1325.1 算子調(diào)試工具 1325.1.1 孿生調(diào)試 1325.1.2 CPU域的調(diào)試 1325.1.3 NPU域的調(diào)試 1355.2 算子調(diào)優(yōu)工具 1395.2.1 算子性能調(diào)優(yōu)原理 1395.2.2 算子調(diào)優(yōu)基本流程 1425.3 算子異常檢測(cè)工具 1435.3.1 算子內(nèi)存的檢測(cè)原理 1435.3.2 算子競(jìng)爭(zhēng)的檢測(cè)原理 1465.3.3 異常檢測(cè)工具的使用方法 1465.4 ?N騰算子性能的優(yōu)化方法 1475.4.1 算子計(jì)算流程優(yōu)化 1475.4.2 代碼實(shí)現(xiàn)優(yōu)化 1505.4.3 層次化訪存優(yōu)化 1525.4.4 計(jì)算資源利用優(yōu)化 1535.5 小結(jié) 1545.6 測(cè)驗(yàn)題 1545.7 實(shí)踐題 155第 6 章 Ascend C大模型算子優(yōu)化 1566.1 大模型與自注意力算子的基礎(chǔ)知識(shí) 1566.1.1 大模型的奠基石——Transformer 1566.1.2 自注意力算子在GPU上加速計(jì)算的發(fā)展 1566.2 自注意力算子的優(yōu)化算法 1606.2.1 自注意力算子在?N騰AI處理器上的優(yōu)化思路 1606.2.2 自注意力算子的前向傳播優(yōu)化 1616.3 自注意力算子前向傳播的實(shí)現(xiàn) 1676.3.1 矩陣切分 1686.3.2 矩陣乘法計(jì)算 1706.3.3 Softmax計(jì)算 1716.3.4 第二次矩陣乘法及輸出合并計(jì)算 1736.4 自注意力算子的測(cè)試 1766.4.1 生成算子API 1766.4.2 編寫(xiě)測(cè)試項(xiàng)目 1786.4.3 編譯與運(yùn)行 1886.5 小結(jié) 1886.6 測(cè)驗(yàn)題 1896.7 實(shí)踐題 189
展開(kāi)全部
ASCEND C異構(gòu)并行程序設(shè)計(jì)—— 昇騰算子編程指南 作者簡(jiǎn)介
蘇統(tǒng)華 哈爾濱工業(yè)大學(xué)軟件學(xué)院副院長(zhǎng),教授,博士生導(dǎo)師。主要科研方向?yàn)樯疃葘W(xué)習(xí)與異構(gòu)計(jì)算、圖像生成與安全等。承擔(dān)國(guó)家重點(diǎn)研發(fā)課題、國(guó)家自然科學(xué)基金等科研項(xiàng)目30余項(xiàng),發(fā)表論文80余篇,出版專(zhuān)著和譯著15本。獲聘首批華為?N騰領(lǐng)軍人物(MVP,全國(guó)14人),擔(dān)任首屆MindSpore社區(qū)技術(shù)治理委員會(huì)成員(全球13人),擔(dān)任華為?N騰專(zhuān)家,連續(xù)4年評(píng)為全國(guó)GPU教育工作者。 杜 鵬 博士,浙江大學(xué)計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室專(zhuān)職研究員,主要研究方向?yàn)閳D形學(xué)與CAD、人工智能、異構(gòu)計(jì)算。在SIGGRAPH、CVPR等會(huì)議發(fā)表論文10余篇,出版《?N騰A處理器CANN架構(gòu)與編程》《?N騰AI處理器CANN應(yīng)用與實(shí)戰(zhàn)——基于Atas硬件的人工智能案例開(kāi)發(fā)指南》。獲2021年度浙江省科學(xué)技術(shù)進(jìn)步獎(jiǎng)一等獎(jiǎng)、2022年上海市技術(shù)發(fā)明獎(jiǎng)一等獎(jiǎng)。 閆長(zhǎng)江 ?N騰CANN首席架構(gòu)師,負(fù)責(zé)?N騰AI處理器與異構(gòu)計(jì)算架構(gòu)CANN的架構(gòu)設(shè)計(jì),負(fù)責(zé)華為?N騰處理器的市場(chǎng)商用業(yè)務(wù)。在數(shù)據(jù)通信和計(jì)算機(jī)體系架構(gòu)設(shè)計(jì)領(lǐng)域有超過(guò)20年的行業(yè)經(jīng)驗(yàn)。