背景
某医药公司在使用 VASP 生物医药分子模型优化自己的算法时遇到了性能低下的问题,为了解决这个问题,一起针对 VASP 分子模型的特点,进行技术匹配,最终发现,英特尔® oneAPI 工具套件中的 MPI 库能够助其获得理想结果。
VASP(全称 Vienna Ab-initio Simulation Package)是维也纳大学 Hafner 小组开发的进行电子结构计算和量子力学-分子动力学模拟软件包。它是材料模拟和计算物质科学研究中最流行的商用软件之一。
测试
测试环境基于火山引擎 g2i 实例,采用双路版第三代英特尔® 至强® 可扩展处理器,提供强劲性能。
a. 测试步骤
步骤 1,安装英特尔® OneAPI 工具套件,并使能环境变量;
步骤 2,基于 OneAPI 中的英特尔® Compiler 和 MKL(数学核心函数库),编辑 VASP 软件包的 make_le,编辑相关库的地址,打开编译器优化配置,编译构建 VASP 程序;
步骤 3,获取测试用例,运行 VASP 程序:
Bash
cd PATH-TO-CASE
mpirun -genv I_MPI_DEBUG=5 -np 4 PATH-TO/binary/vasp_std
b. 优化效果
基于业务模型提供定制化解决方案,其中包括使用英特尔® oneAPI 工具套件提升性能1:
c. 异常 case 优化:
客户测试中遇到了一个异常 case,导致容易超时甚至运算失败等问题,而且在不同的配置下最终运算结果会有小幅度的差异。
通过英特尔与火山引擎联合定位分析,最终选择了新版本的英特尔® MPI,结合测例中的NPAR 参数调优:
- VASP 官方推荐实践:NPAR ≈ √\# of cores
- 调优后的最佳实践:去掉 NPAR 这个参数,可以获得平衡的性能以及稳定的结果输出
结论
火山引擎向该生物医药科技公司提供了基于英特尔® oneAPI 工具套件中的 MPI 库,广泛赋能更加数字化和智能化的药物研发效率升级,并对 VASP 分子训练模型进行了 NUMA 亲和性优化,极大地提高了运算性能,从而提高研发成功率、降低研发成本。
关于火山引擎
火山引擎是字节跳动旗下的云服务平台,将字节跳动快速发展过程中积累的增长方法、技术能力和应用工具开放给外部企业,帮助企业构建用户体验创新、数据驱动决策和业务敏捷迭代等数字化能力,实现业务可持续增长。
关于英特尔
英特尔 (NASDAQ:INTC) 作为行业引领者,创造改变世界的技术,推动全球进步并让生活丰富多彩。在摩尔定律的启迪下,我们不断致力于推进半导体设计与制造,帮助我们的客户应对最重大的挑战。通过将智能融入云、网络、边缘和各种计算设备,我们释放数据潜能,助力商业和社会变得更美好。如需了解英特尔创新的更多信息,请访问英特尔中国新闻中心 newsroom.intel.cn 以及官方网站 intel.cn 。