写点什么

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

发布了 935 篇内容, 共 723.6 次阅读, 收获喜欢 2718 次。

关注

评论

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

如何快速的学习一门新的编程语言?

架构精进之路

学习 5月日更

CRM中间件里的发布-订阅者模式

汪子熙

CRM SAP ERP abap

如何从ERP下载Sales BOM到CRM

汪子熙

CRM SAP ERP abap

如何在ubuntu上安装virtualbox的driver module vboxdrv

汪子熙

ubuntu 虚拟机 vboxdrv 驱动

Mybatis获取自增长id

风翱

mybatis 5月日更

数字货币兴起背后:全球货币超发 主权信用贬值

CECBC

架构训练营-模块四作业

冬天的树

ABAP OPEN SQL里OPEN CURSOR和SELECT的比较

汪子熙

CRM SAP abap ST05 OPENSQL

架构师训练营 作业四

开拓纪

ABAP git客户端的简单介绍

汪子熙

GitHub SAP abap

SAPGUI里实现自定义的语法检查

汪子熙

SAP abap SAPGUI 语法检查

One Order行项目里Item Category是怎么计算出来的

汪子熙

CRM SAP abap ONE-ORDER

金融科技如何在产业互联网蓝海中扬帆远航?大数据、区块链与物联网应用被看好

CECBC

如何检查某个用户是否具有某个权限对象上定义的某种权限

汪子熙

CRM ERP abap Authorization Authentication

设计千万级学生管理系统的考试试卷存储方案

俞嘉彬

观察者模式在One Order回调函数中的应用

汪子熙

CRM SAP abap

如何在Chrome development tool里查看C4C前台发送的未经 GZIP 压缩之前的请求细节

汪子熙

chrome SAP C4C Chrome开发者工具

如何使用腾讯云提供的云主机

汪子熙

腾讯云 云主机 Cloud

面试问题 - 只用位操作在ABAP里实现a+b

汪子熙

面试 SAP abap

如何用ABAP代码读取CDS view association的数据

汪子熙

CDS SAP abap CDS view

高性能 JavaScriptの六 -- 老生常谈Ajax

空城机

JavaScript ajax 大前端 5月日更

如何证明CRM WebClient UI上的应用是有状态(Stateful)的

汪子熙

CRM SAP abap WebClient UI

CRM订单状态的Open, In process和Completed这些条目是从哪里来的

汪子熙

CRM SAP ERP abap

在浏览器里使用SAPGUI里的SE80

汪子熙

JavaScript SAP abap Fiori SAP UI5

利用CRM中间件Middleware从ERP下载Customer Material的常见错误

汪子熙

中间件 CRM SAP ERP

CRM和ERP的Sales Organization的映射关系

汪子熙

中间件 CRM SAP ERP

为什么使用中间件下载时总是收到警告消息Object is in status Wait

汪子熙

中间件 CRM SAP ERP

如何从ERP将Material的Batch信息下载到CRM

汪子熙

CRM SAP ERP abap

CRM product UI里assignment block的显示隐藏逻辑

汪子熙

CRM SAP abap

如何使用代码获得一个function module的Where Used List

汪子熙

CRM SAP abap SAPGUI

ABAP和Java里关于DEFAULT(默认)机制的一些语言特性

汪子熙

SAP abap Netweaver SAPGUI

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