Page 39 - 《软件学报》2025年第12期
P. 39
5420 软件学报 2025 年第 36 卷第 12 期
点数增加到 9.7 万时, 效率降低到 66.2%. 并行效率下降的主要原因是不同 MPI 组之间的随机种子变化, 这导致某
些种子生成特殊的唯一采样路径, 从而在采样过程中造成工作负载分布的不均衡.
Fe
Fe Fe Fe
O
H
图 21 Fenton 反应的 Fe(H 2 O) 5 H 2 O 2 大分子系统的化学结构
50 120 14 120
Sampling 100 12 100.0 99.0 99.1 96.2 99.5 92.7 100
单次迭代的执行时间 (s) 35 70.2 MPI 46.6 80 并行效率 (%) 单次迭代的执行时间 (s) 10 8 6 4 Sampling Local energy 66.2 80 并行效率 (%)
45
100.0
Local energy
87.6
40
Gradient
Gradient
MPI
30
60
60
25
20
40
40
15
10
0
0
0 5 20 2 0 20
14 000 24 208 43 884 96 912 1 000 2 000 4 000 8 000 16 000 48 456 96 912
节点数 节点数
图 22 NNQS-Transformer 的强可扩展性测试结果 图 23 NNQS-Transformer 的弱可扩展性测试结果
实验结果表明, swJulia 的 MPI.jl 实现了对新一代神威超级计算机消息传递接口的高效封装, 为 NNQS-
Transformer 在分布式环境中的高效执行提供了有力支撑. 同时, 得益于 Julia 在分布式计算和并行处理方面的强大
支持, NNQS-Transformer 能够采用专门设计的多层并行化策略, 如 MPI 进程分组以及数据驱动的并行化方法等,
上述策略显著提升了 NNQS-Transformer 在大规模量子化学模拟中的计算效率和可扩展性.
5 结束语
本文通过对新一代神威超级计算机即时编译需求的深入研究, 创新设计并实现了动态语言编译器 swJulia. 该
编译器显著提高了 Julia 在新一代神威超级计算机上的执行效率和灵活性. 针对 SW26010Pro 处理器的硬件特点,
我们成功构建了 ORCJIT 引擎, 并提出了动态模式下的片上存储空间管理方法. 这些技术突破为 Julia 等动态语言
在国产众核处理器上的流畅运行奠定了坚实的技术基础. 更进一步, 我们通过支持 Julia 的原生众核编程和 SACA
运行时封装, 展示了 swJulia 编译系统的强大功能. 值得一提的是, 我们基于 swJulia 成功在新一代神威超级计算机
上支撑并优化了 NNQS-Transformer 量子化学模拟器, 实现了前所未有的超大规模可扩展并行模拟, 并取得了多项
国际领先的应用成果.
未来, 我们将持续推进 swJulia 的研发工作, 旨在进一步提升 Julia 在新一代神威超级计算机上的性能表现. 首
先, 我们将加强针对特定领域应用的定制优化, 通过精准对接应用需求和硬件特性, 设计更加高效的众核编程和加
速方案. 其次, 我们将扩大对第三方库的适配和优化范围, 以丰富 swJulia 的软件生态, 为用户提供更加全面的编程
支持. 最后, 我们将探索应用更先进的编译优化技术, 例如利用机器学习进行代码优化、开发更高效的并行处理策
略等, 从而不断提升编译系统的智能水平和自动化程度. 同时, 我们也将致力于推动 swJulia 在更广泛领域的应用,
为基于国产超级计算机的科研与工程实践提供强有力的技术支持.
References:
[1] Top500 the list. 2024. https://www.top500.org

