QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

性能至少提升 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:024281
用户头像
赵钰莹 极客邦科技 总编辑

发布了 892 篇内容, 共 664.0 次阅读, 收获喜欢 2689 次。

关注

评论

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

阿里面试官:说说多线程并发问题

android 程序员 移动开发

面经分享:字节跳动Android开发大佬的百度,美团,快手等大厂Offer收割之旅

android 程序员 移动开发

那些三十五岁失业的安卓程序员,后来都干什么去了?

android 程序员 移动开发

都2020年了,你竟然还在搞Android开发?我劝你早点认清现实吧

android 程序员 移动开发

链表问题不会做?LC狂刷50道链表算法总结出这9道典型题,套路很简单(二

android 程序员 移动开发

这是你从未见过的组件库----手写一款女朋友欲罢不能的Android-手绘风格组件

android 程序员 移动开发

算法入门-归并排序

ES_her0

11月日更

金三银四Android面试的一些感受,附加面试题

android 程序员 移动开发

金九银十跳槽季余温过后,记录以往走过的面试经历

android 程序员 移动开发

阿里面试官:Android面试这些原理都给我讲明白了,最低都是20k起步!

android 程序员 移动开发

迷茫的程序员

android 程序员 移动开发

那匆匆2014年,明明想静静

android 程序员 移动开发

TCP/IP中的通信,三次握手是如何工作的

卢卡多多

三次握手 11月日更

阿里技术分享:APP启动提速方法总结

android 程序员 移动开发

阿里面试难吗,应该如何应对?

android 程序员 移动开发

面试了15位来自985211高校的2020届研究生之后,思考良久,写下此文。 掘金技术征文

android 程序员 移动开发

金九银十,你需要的不仅仅只是大厂面试题,记得把每一次面试当做经验积累!

android 程序员 移动开发

阿里、华为、字节跳动,大厂面试算法题

android 程序员 移动开发

阿里巴巴:-给你一个Demo-你如何快速定位ANR

android 程序员 移动开发

07 K8S 之命令行应用编排

穿过生命散发芬芳

k8s 11月日更

面挂了腾讯、阿里巴巴、美团Android客户端,我有一份避坑指南分享给你

android 程序员 移动开发

面试官又双叒叕“突袭”:如何优化一个网络请求

android 程序员 移动开发

架构实战营模块毕业总结

seawolflin

架构实战营

郭霖说Jetpack新成员:App-Startup一篇就懂

android 程序员 移动开发

金九银十面经分享,1-3年的Android开发工程师看过来(已拿offer)(1)

android 程序员 移动开发

金九银十面经分享,1-3年的Android开发工程师看过来(已拿offer)

android 程序员 移动开发

面试官教你做人:字节跳动在招2000人,招聘要求让人窒息…

android 程序员 移动开发

面试半年,上个月成功拿到字节跳动offer,全靠我啃烂了这份2020最新面试题!

android 程序员 移动开发

这里有一份史上最详细仿QQ未读消息拖拽粘性效果的实现,快来收藏!

android 程序员 移动开发

遭遇技术瓶颈?分享Android 资深架构师的成长之路(技术详细介绍)

android 程序员 移动开发

分享一个免费的思维导图软件GitMind

IT蜗壳-Tango

11月日更

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