2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

性能至少提升 10%,火山引擎是如何优化 VASP 医药分子模型运行效率的?

英特尔

  • 2023-05-18
    北京
  • 本文字数:966 字

    阅读完需:约 3 分钟

性能至少提升 10%,火山引擎是如何优化 VASP 医药分子模型运行效率的?

背景


某医药公司在使用 VASP 生物医药分子模型优化自己的算法时遇到了性能低下的问题,为了解决这个问题,一起针对 VASP 分子模型的特点,进行技术匹配,最终发现,英特尔® oneAPI 工具套件中的 MPI 库能够助其获得理想结果。


使用的技术


MPI (Message Passing Interface),是开发者们在科学计算程序中,用于在参与计算的不同 CPU、或服务器节点之间进行消息传递的一组规范或接口,通过这组接口,能帮助开发工程师们在不同的计算平台上快速编写可跨平台移植的并行计算程序,提升开发效率。



VASP(全称 Vienna Ab-initio Simulation Package)是维也纳大学 Hafner 小组开发的进行电子结构计算和量子力学-分子动力学模拟软件包。它是材料模拟和计算物质科学研究中最流行的商用软件之一。


测试


测试环境基于火山引擎 g2i 实例,采用双路版第三代英特尔® 至强® 可扩展处理器,提供强劲性能。


a. 测试步骤

步骤 1,安装英特尔® OneAPI 工具套件,并使能环境变量;


步骤 2,基于 OneAPI 中的英特尔® Compiler 和 MKL(数学核心函数库),编辑 VASP 软件包的 makefile,编辑相关库的地址,打开编译器优化配置,编译构建 VASP 程序;


步骤 3,获取测试用例,运行 VASP 程序:

Bash

cd PATH-TO-CASE

mpirun -genv I_MPI_DEBUG=5 -np 4 PATH-TO/ binary/vasp_std


b. 优化效果

基于业务模型提供定制化解决方案,其中包括使用英特尔® oneAPI 工具套件提升性能[1]


实际性能受使用情况、配置和其他因素的差异影响。更多信息请见www.Intel.cn/PerformanceIndex


c. 异常 case 优化:


客户测试中遇到了一个异常 case,导致容易超时甚至运算失败等问题,而且在不同的配置下最终运算结果会有小幅度的差异。


通过英特尔与火山引擎联合定位分析,最终选择了新版本的英特尔® MPI,结合测例中的 NPAR 参数调优:


• VASP 官方推荐实践: 

 


• 调优后的最佳实践:去掉 NPAR 这个参数,可以获得平衡的性能以及稳定的结果输出。


结论


火山引擎向该生物医药科技公司提供了基于英特尔® oneAPI 工具套件中的 MPI 库,广泛赋能更加数字化和智能化的药物研发效率升级,并对 VASP 分子训练模型进行了 NUMA 亲和性优化,极大地提高了运算性能,从而提高研发成功率、降低研发成本。



[1] 测试日期为 2022 年 9 月,该数据由字节跳动提供,英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。

2023-05-18 11:024971
用户头像
赵钰莹 极客邦科技 总编辑

发布了 934 篇内容, 共 721.4 次阅读, 收获喜欢 2717 次。

关注

评论

发布
暂无评论
发现更多内容

高阶文件操作

Python研究所

Python 文件处理

C语言性能优化:移除循环体中的重复运算

1

缓存 编程 程序员 性能优化 C语言

moviepy简介及安装

老猿Python

Python 编程语言 音视频 Moviepy PyQt

Prophecis 0.2.0 版本发布

WeDataSphere

机器学习 大数据 学习 WeDataSphere

js逐步实现原生控制系统(html逻辑 css逻辑 js逻辑)

js

JS逐步教你做(自己版本)的视频播放器(html逻辑 css逻辑 js逻辑)

js

Three.js杂记(六)——3D模型

空城机

大前端 WebGL 3D模型 3D可视化 three.js

h5逐步实现 <<canvas系统>>(html逻辑 css逻辑 js逻辑)

js

Three.js杂记(九)—— 练习:地球

空城机

大前端 WebGL 3D可视化 three.js

DCGM:监控Kubernetes集群的GPU资源

DCOS

kubernetest

我提升开发效率的经验

流沙

程序员 成长笔记 成长与思考

机器学习(一):5分钟理解机器学习并上手实践

caiyongji

机器学习

网页长截图如此简单

Python研究所

浏览器 实用技巧 截图

Three.js杂记(十)——贴图

空城机

大前端 WebGL 3D渲染 3D可视化 three.js

go训练营毕业总结

伊灵

js逐步实现原生flex系统(html逻辑 css逻辑 js逻辑)

js

Three.js杂记(五)——坐标轴、光源

空城机

大前端 WebGL 3D渲染 3D可视化 three.js

全球视野下的云上“夺旗赛”:京东云飞驰在产业赛道

脑极体

js逐步教实现音乐系统(html逻辑 css逻辑 js逻辑)

js

js逐步教实现表单系统(html逻辑 css逻辑 js逻辑)

js逐步教你实现原生古诗匹配系统(html逻辑 css逻辑 js逻辑)

js

工程方法事例实战

风翱

软件工程 3月日更

Python-计算机视觉-OpenCV-Image

Aldeo

Python OpenCV 计算机视觉

第九周作业

yoki

[Thinkphp6.0 零基础到前后分离实战]一

重庆柯一网络有限公司

从一道美团春招笔试题目出发,揭开树DP的神秘面纱

面鲸

面试 数据结构与算法 笔试题

Three.js杂记(七)—— 全景效果制作·上(含python爬虫偷碎图,canvas重组图片)

空城机

大前端 WebGL 3D渲染 3D可视化 three.js

Three.js杂记(十一)—— 精灵与粒子(绘制中国地图)

空城机

大前端 WebGL 3D渲染 3D可视化 three.js

Three.js杂记(四)—— 更好的运动:TweenMax

空城机

大前端 3D渲染 3D可视化 three. webg

js逐步教你实现原生电影院系统(html逻辑 css逻辑 js逻辑)

js

Three.js杂记(八)—— 文本几何体

空城机

大前端 WebGL 3D渲染 3D可视化 three.js

性能至少提升 10%,火山引擎是如何优化 VASP 医药分子模型运行效率的?_架构_InfoQ精选文章