写点什么

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

发布了 885 篇内容, 共 656.1 次阅读, 收获喜欢 2681 次。

关注

评论

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

mysql常用命令

Sakura

JAVA学习心得

张鹤羽

28天写作 3月日更

单点登录(SSO)

一个大红包

SSO 28天写作 单点登录 3月日更

2021最新分享面试跳槽宝典:互联网大厂Java高级工程师核心面试498题(附解析)

比伯

Java 编程 程序员 架构 面试

2021“金三银四”刷爆朋友圈的“Java核心面试知识手册”这波Offer稳了

Java架构之路

Java 程序员 架构 面试 编程语言

用户画像实践

Jackchang234987

VMware Workstation

梅花鹿鹿

虚拟机

震撼来袭!2021版全新版Java面试笔记现世,简直把所有Java知识面试题写出来了

Java 架构 面试

容器 & 服务:K8s 与 Docker 应用集群 (二)

程序员架构进阶

Docker 持续集成 kubernete 服务化 3月日更

当开工季遇上采购季,云通信主播教你怎么省心又省钱

阿里云Edge Plus

云通信

作业 - 第五周

eva

Linkerd or Istio?哪个Service Mesh框架更适合你?

xcbeyond

Service Mesh istio 技术选型 Linkerd 3月日更

融云CEO韩迎:飞信十年珍贵历练,做To B别有取巧的心思

融云 RongCloud

IM RTC 飞信

翻译:《实用的Python编程》03_06_Design_discussion

codists

Python

小树量化交易系统开发|小树炒币机器人软件APP开发

系统开发

“金三银四”面试别慌!最新阿里P8内部Java面试涨薪秘籍!全网最新已开源

Java架构之路

Java 程序员 架构 面试 编程语言

【邀请有礼】全球视频云创新挑战赛邀请有礼:参与 100% 获得 “壕” 礼,更有机会获得 JBL 音箱、Cherry 机械键盘

阿里云CloudImagine

阿里云 音视频 比赛

搜狐三面:说说你是怎么解决MySQL死锁问题的!

Java架构师迁哥

Wireshark数据包分析学习笔记Day2

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

使用 Puppet 进行配置管理

码语者

DevOps 配置管理

【回溯算法】组合总和升级版 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构和算法

程序员成长第二十篇:刚晋升管理者,有哪些方面要注意?

石云升

程序员 28天写作 职场经验 管理经验 3月日更

进程和nginx

一个大红包

28天写作 3月日更

自动炒币机器人系统开发|自动炒币机器人APP软件开发

系统开发

从JVM底层原理分析数值交换那些事

Java 架构 JVM

终于讲清楚了:深入理解Java 应用程序中 final 关键字的各种使用场景

老王说编程

Java final

女神节|深情告白季,程序员和他的浪漫

InfoQ写作社区官方

热门活动

政府区块链招投标市场活跃 “区块链+警务”等多元化领域成​方向

CECBC

什么是开放艺术?探讨融合区块链技术的新艺术范式

CECBC

DataPipeline通过华为鲲鹏兼容性认证,以自主科技创新推动中国信息产业进步

DataPipeline数见科技

大数据 数据融合

火币量化交易系统开发|火币炒币机器人软件APP开发

系统开发

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