第 一部分 鲲鹏篇
第 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