NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

性能至少提升 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 月,该数据由字节跳动提供,英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-05-18 11:023918
用户头像
赵钰莹 InfoQ 主编

发布了 875 篇内容, 共 606.3 次阅读, 收获喜欢 2671 次。

关注

评论

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

2 期架构师训练营 - 第三周学习总结

云飞扬

架构师训练营第2期

注册中心 Nacos 异常实例需要30s才能剔除 Nacos心跳时间设置(踩坑)

laker

Spring Cloud nacos spring cloud alibaba

2 期架构师训练营 - 第四周作业与总结

云飞扬

架构师训练营第2期

Java函数式编程Stream.collect()为什么这么受欢迎?

码农架构

Java 架构 函数式编程

最新版gradle安装使用简介

程序那些事

Gradle 程序那些事 构建工具 build 打包工具

第十一周 安全稳定 作业 「架构师训练营 3 期」

胡云飞

机器学习·笔记之:Inverse and Transpose

Nydia

2 期架构师训练营 - 第八周作业与总结

云飞扬

架构师训练营第2期

【Python】给PDF添加水印

AXYZdong

Python 2月春节不断更

《未来呼啸而来》- 技术改变生活

石云升

2月春节不断更 技术改变生活 未来呼啸而来

日记 2021年2月7日(周日)

Changing Lin

个人感悟 2月春节不断更

5G花式过年指南

脑极体

浪潮云洲:从工业互联网实践想开去

浪潮云

工业互联网

驱动力读书笔记之五

张老蔫

28天写作

kafka的实现原理

八两

kafka Kafka知识点 kafka实现原理 kafka架构

大作业(二)

bing5tui3

架构师训练营第2期

阅读笔记:Python A-Z 技巧

小匚

Python 读书笔记 日常思考

Linux Lab 进阶: Rootfs 文件系统 &Linux 与 Uboot 调试

贾献华

Linux Linux Kenel rootfs uboot usb

大作业(一)

bing5tui3

极客时间架构师二期

话题讨论 | 新年将至, 程序员如何以代码送出新春祝福

孙叫兽

Java 程序员 大前端 话题讨论 新春祝福

如何在数据库中进行RBAC权限应用

BinTools图尔兹

数据库 权限管理 数据管理 rbac

百度大脑 EasyData 智能数据服务平台上线文本数据清洗功能

百度大脑

【LeetCode】盒子中小球的最大数量

Albert

算法 LeetCode 2月春节不断更

尝试从用户的角度思考(PO的姿势)

Bruce Talk

Scrum 敏捷开发 Agile Product Owner

停车、投票、领证,区块链如何在「智慧城市」建设中大显身手?

CECBC

区块链

百度大脑 EasyEdge 推出端云协同服务,大幅提升本地部署模型迭代效率

百度大脑

2 期架构师训练营 - 第六周作业与总结

云飞扬

架构师训练营第2期

sql注入竟然把我们的系统搞挂了,怎么办?

苏三说技术

java安全

杜绝“萝卜章”风险,区块链电子签章助力企业降本“保真”

CECBC

电子签名

2 期架构师训练营 - 第九周作业与总结

云飞扬

架构师训练营第2期

2 期架构师训练营 - 第七周作业与总结

云飞扬

架构师训练营第2期

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