10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

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

发布了 897 篇内容, 共 690.5 次阅读, 收获喜欢 2699 次。

关注

评论

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

醒一醒,讲到 ZooKeeper 的选举机制了

HelloGitHub

Java zookeeper ZooKeeper原理

深入分析mysql为什么不推荐使用uuid或者雪花id作为主键

xcbeyond

MySQL MySQL优化 3月日更

Everything is Serverless,从开源框架对比说起

华为云开发者联盟

云计算 开源 Serverless 云原生 无服务器

Midway Serverless 发布 2.0,一体化让前端研发再次提效

Serverless Devs

Serverless 云原生 大前端

Superset 兼容ADB(AnalyticDB-MySQL)

data_y

Python MySQL Apache Superset

Python 中级知识之装饰器,滚雪球学 Python

梦想橡皮擦

28天写作 3月日更

历史技术栈体系即将崩溃,我们如何应对?

VoltDB

数据库 5G 边缘计算 VoltDB

有道 Kubernetes 容器API监控系统设计和实践

有道技术团队

Kubernetes 容器 分布式

《她说》——我们自出版的第一本书

张凯峰

火爆!GitHub 标星 144k 的前后端学习路线

沉默王二

学习 后端

有源晶振和无源晶振的区别

不脱发的程序猿

28天写作 电路设计 3月日更 晶振 元器件

Python yaml 使用的包

HoneyMoose

夺命剪刀脚(死锁)

鲁米

方法论 死锁

对象存储与HashData多云战略

酷克数据HashData

你的决定我做主——锚定效应

Justin

心理学 28天写作 游戏设计

法大大完成D轮9亿元融资,腾讯领投

人称T客

数据分析利器之Excel功能篇

小飞象@木木自由

硬核干货丨借助多容器Pod,轻松扩展K8S中的应用

Rancher

makefile:带你了解一种常用于GNU gcc编译的工具语言

华为云开发者联盟

编译器 LiteOS makefile 语言 GNU

如何通过XMind 实践OKR 工作法

博文视点Broadview

(28DW-S8-Day19) 以太坊是什么

mtfelix

28天写作

正则表达式.06 - 断言

insight

正则表达式 3月日更

问题剖析之消息队列的架构设计

Kylin

读书笔记 消息队列架构 3月日更

第二届开发者社区【金码奖】,揭晓了!

京东科技开发者

开发者 开发者社区

LeetCode题解:64. 最小路径和,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

使用 Flink 前需要知道的 10 个『陷阱』

Apache Flink

flink

Redis工具收费后新的开源已出现

happlyfox

学习 工具软件 28天写作 3月日更

“七大属性加持,三个全新升级组件”这个高性能利器有点厉害

华为云开发者联盟

数据库 数据湖 Clickhouse 华为云 集群

马特量化交易机器人系统开发网格策略

薇電13242772558

PostgreSQL高校数据库课程改革系列活动

PostgreSQLChina

数据库 postgresql 开源 软件 开源社区

中国石油数字化转型提速 HashData助力梦想云建设

酷克数据HashData

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