1.引言

CANN开源社区首个聚焦材料化学工程的开源组织Material Chemical Engineering SIG(材料化学工程特别兴趣小组,以下简称“MCE SIG”)正式发布由Committer (@Magic_LF)提交的首个科学计算算子LJForceFused,该算子采用Ascend C原生开发,并已成功应用实践于中国石油集团材料设计场景,实现了学术研究工具到工业落地的闭环验证,打通了底层算法到业务场景的落地路径,为后续场景规模开展打下坚实的基础。

2.分子动力学算力困局:分子动力学模拟的四重挑战

分子动力学模拟是化工、材料领域的核心"数字实验"工具,广泛应用于催化剂设计、药物分子对接、电池材料研发等场景。然而,传统模拟面临严峻瓶颈:

  • 计算复杂度高:随原子数呈O(N²)增长,工业级体系涉及百万级原子

  • 内存带宽瓶颈:分步计算导致中间结果出现片上内存反复搬运16次以上,片上内存带宽受限

  • 开发门槛高:异构芯片开发需精通硬件架构与手动优化,周期长

  • 精度效率难兼顾:科学计算对能量守恒要求严苛,常牺牲性能保精度

3.核心创新:融合计算范式

LJForceFused是CANN开源社区MCE SIG发布的首个面向流程工业的加速算子,为分子动力学模拟中的Lennard-Jones力场计算提供深度优化。其核心创新在于将传统需要多步完成的距离计算、势能计算、力向量计算融合为单次计算,实现"一次读取,全量计算,一次写回"。原生支持Atlas A2/A3系列产品。

计算公式:

Lennard-Jones 势能:

 

图片

Lennard-Jones 力:

 

图片

其中:

r-两原子间距离

ε-势阱深度

σ-零势能距离

r⃗-距离向量

4.三大技术突破

4.1内存带宽优化:内存搬运次数从16次降低至2次

传统分步计算需要16次片上内存搬运,成为性能瓶颈:

传统方案流程:

  • 读取坐标→写回距离(2次)

  • 读取距离→写回势能(2次)

  • 读取距离→写回力向量(6次)

  • 读取力分量→写回结果(6次)

LJForceFused融合优化:

  • 2次片上内存搬运:一次读取坐标到片上UB,UB内完成全部计算,一次写回结果

  • 零中间结果存储:减少内存占用

  • 单次Kernel启动:消除多次启动开销

优化点

传统方案

融合算子

提升

片上内存搬运次数

16次

2次

8倍

中间结果存储

需要

不需要

节省显存

内存带宽占用

降低内存占用

Kernel 启动开销

多次

1次

消除开销

4.2计算效率优化:O(N²)到O(N)的跨越

优化技术

计数原理

效果

截断距离优化

只计算 r < cutoff 的原子对,跳过远距离无效计算

大幅减少计算量

牛顿第三定律

F_ij = -F_ji,每对原子只计算一次

计算量减半

多核并行

原子均匀分配到多个 AI Core

充分利用 NPU 算力

向量化计算

Ascend C向量指令批量处理

提升指令效率

4.3科学计算精度保证

  • 强制FP32精度:科学计算数值稳定性要求,拒绝FP16精度损失

  • 能量守恒验证:力场计算精度直接影响分子动力学模拟的能量守恒性

  • 可复现性保证:相同输入确保相同输出,满足科研论文可复现要求

4.4约束说明

  • 输入坐标必须为 FLOAT32 类型

  • 原子数 N 不超过 65535

  • cutoff 必须大于 0

5.精度验证:双精度对标,误差<0.3%

与PyTorch双精度参考实现对比验证:

原子数

力向量最大相对误差

能量相对误差

验证结果

20

0.12%

0.08%

通过

50

0.15%

0.11%

通过

100

0.18%

0.14%

通过

256

0.21%

0.16%

通过

验证标准:相对误差 < 1%,实际表现优于标准5倍以上

6.性能验证:相对公共基础算子实现百倍以上加速,分子结构越复杂原子数越多性能提升越明显。

原子数

原子对数

PyTorch

融合算子(NPU)

加速比

64

2,016

0.54 ms

0.57 ms

0.96x

128

8,128

25.57 ms

0.75 ms

34x

256

32,640

174.96 ms

0.85 ms

206x

512

130,816

183.00 ms

1.45 ms

126x

趋势洞察:随着模拟规模增大,NPU融合算子性能稳定在“百倍以上”

7.应用场景

LJForceFused通过计算融合与内存优化,在保持科研级精度的前提下,将分子动力学模拟的核心计算效率提升两个数量级,使昇腾NPU的高算力真正转化为化工研发的生产力工具。

该算子覆盖六大应用领域,涵盖催化剂设计、材料研发制药工程、石油化工、膜分离、电池材料等多个分子动力学模拟场景。

8.立即体验

诚挚邀请化工、材料、能源领域的开发者、科研工作者与企业伙伴加入Material Chemical Engineering SIG,下载体验LJForceFused算子。代码已完整开源,文档详尽,测试脚本即拿即用,期待您的反馈与贡献,共同打磨面向流程工业的开源基础设施,携手推动AI for Science在流程工业的深度落地,让昇腾NPU的高算力真正转化为材料化学工程的生产力工具!

联系公邮:mce-owner@cann.osinfra.cn

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐