商品描述
本書聚焦於鯷鵬與昇騰計算生態,旨在透過通用計算(科學計算、工程計算)及人工智慧計算領域的10個應用案例,
介紹基於鯕鵬平臺和昇騰平臺進行應用開發,以及如何將現有的運算應用向鯕鵬平臺和昇騰平臺進行程式碼移植和最佳化。
書中案例涵蓋鯕鵬遷移工具(如畢昇編譯器)、昇騰AI架構(如CANN和MindSpore),強調應用效能最佳化實務。
本書包括「鯕鵬篇」和「昇騰篇」兩個部分,其中「鯕鵬篇」包含5章,
涵蓋通用計算的5個應用案例(如分子動力學模擬等);
「昇騰篇」包含5章,介紹人工智慧運算領域的5個應用案例(如模型訓練與模型推理等)。
每章對應一個應用案例,每個應用案例包含應用背景、核心演算法、
程式碼移植方法及效能優化策略等內容,呈現應用程式開發與遷移的實務。
本書適合鯕鵬與昇騰開發者、高效能運算工程師、電腦相關專業的學生及教師閱讀。
作者簡介
林新華,上海交通大學網絡信息中心副主任、計算機學院博士生導師,全球計算聯盟(GCC)高性能計算產業發展委員會主任、上海高專委主任、CCF 高專委常委。主要研究方向為高性能計算與 AI4S。
王一超,上海交通大學網絡信息中心計算業務部副主任、高級工程師,分別於 2019 年和 2022 年入選上海交通大學卓越計劃。
管海兵,上海交通大學副校長、教授。長期從事並行與分布式計算領域的教學和科研工作,曾獲國家傑出青年科學基金、教育部 “長江學者獎勵計劃” 特聘教授、國家萬人計劃科技創新領軍人才等國家級人才計劃。
目錄大綱
第 一部分 鯤鵬篇
第 1章 隨機分批Ewald算法結合LAMMPS在鯤鵬處理器上的高性能實現 3
1.1 應用簡介:LAMMPS-RBE 3
1.2 研發團隊簡介:上海交通大學快速算法與高性能計算實驗室 5
1.3 分子模擬理論與算法設計 6
1.4 軟件編譯技巧 9
1.5 進程級並行:MPI並行編程 10
1.6 數據級並行:NEON向量化 13
1.7 實空間優化方法 16
1.8 計算結果與計算效率 19
1.9 總結 22
參考文獻 23
第 2章 多體構型氣動仿真軟件在鯤鵬處理器上的高性能實現 25
2.1 應用簡介:SuperMan多體構型仿真軟件 25
2.2 多體構型氣動仿真算法設計 28
2.3 軟件編譯步驟 30
2.4 面向鯤鵬平臺的優化 31
2.4.1 遷移至鯤鵬平臺 31
2.4.2 編譯選項優化 32
2.4.3 單節點內優化 33
2.4.4 負載均衡優化 39
2.5 應用案例 40
2.6 總結 43
參考文獻 43
第3章 PPCG和CheFSI本征值求解器在鯤鵬處理器上面向第 一性原理計算軟件的
高性能實現 46
3.1 應用簡介:PPCG和CheFSI本征值特征求解器 46
3.1.1 基於DFT的第 一性原理計算 46
3.1.2 Quantum ESPRESSO-PPCG和CP2K-CheFSI 48
3.2 研發團隊簡介:中國科學技術大學楊金龍院士課題組 50
3.3 算法簡介 50
3.3.1 PPCG算法 50
3.3.2 CheFSI算法 54
3.4 本征值求解器中的模塊化並行設計 58
3.5 並行移植 63
3.5.1 編譯方法與優化策略 63
3.5.2 PPCG與Quantum ESPRESSO的對接 64
3.5.3 CheFSI與CP2K的對接 66
3.6 計算結果與計算效率 67
3.6.1 PPCG對角化庫 68
3.6.2 CheFSI對角化庫 69
3.7 總結 71
參考文獻 71
第4章 RELION在鯤鵬處理器上的高性能實現和算法優化 73
4.1 應用簡介:RELION 73
4.2 算法介紹 74
4.3 軟件編譯 75
4.3.1 加載環境 75
4.3.2 應用編譯 75
4.4 應用算例 76
4.4.1 算例介紹 76
4.4.2 性能分析 77
4.5 優化方法 78
4.5.1 進程並行優化 78
4.5.2 熱點多線程使能 79
4.5.3 熱點訪存優化 79
4.5.4 應用計算優化 80
4.5.5 通信優化 81
4.6 實機優化效果 81
4.6.1 性能對比 81
4.6.2 結果精度對比 82
4.7 總結 83
參考文獻 83
第5章 NEMO在鯤鵬處理器上的高性能實現和算法優化 84
5.1 應用簡介:NEMO 84
5.2 算法簡介 85
5.3 軟件編譯運行 86
5.3.1 安裝依賴庫 86
5.3.2 軟件目錄結構 86
5.3.3 配置編譯選項 86
5.3.4 編譯選項優化 87
5.3.5 設置算例 87
5.3.6 編譯NEMO 87
5.3.7 運行NEMO 87
5.4 性能優化 87
5.4.1 NEMO初始性能分析 87
5.4.2 線程級並行 88
5.4.3 數據級並行 90
5.4.4 訪存優化 91
5.4.5 去除冗余計算 93
5.4.6 混合精度 94
5.5 實機優化效果 94
5.5.1 測試平臺 94
5.5.2 算例及運行結果 94
5.6 總結 95
參考文獻 96
第二部分 昇騰篇
第6章 面向聯合故障診斷的集群聯邦學習框架在昇騰處理器上的遷移與優化 99
6.1 應用簡介:數據隱私約束下的多風場風機聯合故障診斷 99
6.2 研發團隊簡介:上海交通大學機械與動力工程學院李艷婷教授
課題組 102
6.3 CFL框架設計 102
6.3.1 輕量級多尺度可分離殘差網絡 103
6.3.2 CFL流程 104
6.4 模型遷移技巧 107
6.4.1 模型基本情況 108
6.4.2 遷移可行性分析 109
6.4.3 模型遷移適配 110
6.5 性能精度調試 112
6.5.1 訓練精度調試 112
6.5.2 通用性能調優 113
6.5.3 訓練數據采集 113
6.5.4 定制性能調優 115
6.6 實例驗證 116
6.6.1 LMSRN模型的診斷性能評估 117
6.6.2 CFL框架的聯合診斷性能評估 119
6.7 總結 122
參考文獻 123
第7章 Open-Sora Plan視頻生成大模型在昇騰處理器上的高性能實現 126
7.1 應用簡介:Open-Sora Plan 126
7.2 研發團隊簡介:北京大學深圳研究生院-兔展智能聯合實驗室 128
7.3 視頻生成模型與訓練策略 129
7.3.1 去噪器結構 129
7.3.2 多數據桶訓練 132
7.3.3 自適應梯度裁剪 133
7.3.4 數據篩選 134
7.4 模型訓練與推理部署 136
7.4.1 環境準備 136
7.4.2 權重下載及轉換 137
7.4.3 數據集準備和處理 138
7.4.4 並行策略 138
7.4.5 開啟並行策略下的模型預訓練 140
7.4.6 推理 142
7.5 模型移植結果 142
7.5.1 整體適配架構 142
7.5.2 基於昇騰平臺和Mindspeed-MM框架軟硬件的調優結果 143
7.5.3 視頻生成結果示例 144
7.6 總結 145
參考文獻 145
第8章 基於昇騰處理器的小鼠全腦神經元重建平臺 147
8.1 應用簡介:小鼠全腦神經元重建平臺 147
8.2 研發團隊簡介:浙江大學求是高等研究院鄭能幹教授課題組 150
8.3 TB級全腦神經元圖像重建 151
8.3.1 全腦圖像數據介紹 151
8.3.2 全腦圖像數據預處理 151
8.3.3 神經元重建算法庫 154
8.3.4 全腦圖像計算服務平臺 155
8.4 全腦TB級的大規模圖像並行處理 157
8.5 昇思模型訓練策略 160
8.5.1 基於靜態圖模式的訓練與推理 160
8.5.2 高並行數據管道構建 162
8.5.3 神經元三維重建模型的完整訓練流程 164
8.6 全腦重建結果的效果展示 165
8.6.1 平臺各功能界面展示 166
8.6.2 全腦重建結果去噪 167
8.6.3 多類方法的重建結果分析與展示 169
8.7 總結 171
參考文獻 172
第9章 船臉識別不規則表達式計算場景在昇騰NPU上的高性能實現 174
9.1 應用簡介:船臉識別 174
9.2 研發團隊簡介:華南理工大學計算機科學與工程學院陸璐團隊 178
9.3 模型關鍵算子實現 178
9.3.1 BatchNorm2d算子的設計與優化 178
9.3.2 select算子的設計與優化 180
9.3.3 SiLU算子的設計與優化 181
9.3.4 MaxPool2d算子的設計與優化 181
9.3.5 Upsample算子的設計與優化 183
9.3.6 clip_by_value算子的設計與優化 185
9.4 自定義算子替換與性能結果分析 186
9.4.1 替換開關 187
9.4.2 核心算子替換實現 187
9.4.3 計算結果與計算效率 189
9.5 總結 194
參考文獻 195
第 10章 在鯤鵬-昇騰平臺上面向稀疏模型的本地CPU/NPU異構推理加速 197
10.1 應用簡介 197
10.2 研發團隊簡介:清華大學MadSys課題組 200
10.3 CPU/NPU異構並行算法設計 201
10.4 基於鯤鵬CPU的優化方法 206
10.4.1 總體思路:MoE卸載與NUMA感知並行 206
10.4.2 NUMA本地加載和張量並行切分 206
10.4.3 線程池與任務調度 209
10.4.4 矩陣乘內核優化 214
10.4.5 性能小結 219
10.5 基於昇騰NPU的優化方法 220
10.5.1 總體思路:W8A8量化、算子融合與圖下沈 220
10.5.2 量化與算子融合 221
10.5.3 圖下沈技術 222
10.5.4 IFA-Attention的異步圖更新 226
10.6 性能評測與分析 229
10.6.1 實驗環境與測試流程 229
10.6.2 端到端性能測試 230
10.6.3 昇騰NPU微觀性能剖析 231
10.7 總結 232
參考文獻 233
