算力珠玑:鲲鹏昇腾应用开发案例详解

978-7-115-68206-2
作者: 林新华王一超管海兵
译者:
编辑: 贾静
分类: 其他

图书目录:

第 一部分 鲲鹏篇

第 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

详情

本书聚焦于鲲鹏与昇腾计算生态,旨在通过通用计算(科学计算、工程计算)及人工智能计算领域的10个应用案例,介绍基于鲲鹏平台和昇腾平台进行应用开发,以及如何将现有的计算应用向鲲鹏平台和昇腾平台进行代码移植和优化。书中案例涵盖鲲鹏迁移工具(如毕昇编译器)、昇腾AI框架(如CANN和MindSpore),强调应用性能优化实践。 本书包括“鲲鹏篇”和“昇腾篇”两个部分,其中“鲲鹏篇”包含5章,覆盖通用计算的5个应用案例(如分子动力学模拟等);“昇腾篇”包含5章,介绍人工智能计算领域的5个应用案例(如模型训练与模型推理等)。每章对应一个应用案例,每个应用案例包含应用背景、核心算法、代码移植方法及性能优化策略等内容,呈现应用开发和迁移的实践。 本书适合鲲鹏与昇腾开发者、高性能计算工程师、计算机相关专业的学生及教师阅读。

图书摘要

相关图书

计算机组成原理(基于x86-64架构)
计算机组成原理(基于x86-64架构)
Joy RL:强化学习实践教程
Joy RL:强化学习实践教程
计算流体力学大串讲轻松解锁CFD     从公式到代码的奇妙之旅
计算流体力学大串讲轻松解锁CFD 从公式到代码的奇妙之旅
内网攻防实战图谱:从红队视角构建安全对抗体系
内网攻防实战图谱:从红队视角构建安全对抗体系
肥胖密码:少吃多动,为何还不瘦
肥胖密码:少吃多动,为何还不瘦
AI Agent 开发实战:MCP+A2A+LangGraph 驱动的智能体全流程开发
AI Agent 开发实战:MCP+A2A+LangGraph 驱动的智能体全流程开发

相关文章

相关课程