性能达1.5+倍!昇腾AI助力分子动力学模拟研究
摘要:在异构计算架构CANN的助力下,AI预测性能达到现有产品的1.5+倍,可预测规模较传统方法提升10000+倍,为光伏材料、新能源电池、半导体材料研究带来巨大的商业应用价值。
本文分享自华为云社区《性能达1.5+倍!昇腾AI助力分子动力学模拟研究》,作者:昇腾CANN。
研究背景
分子动力学是一套分子模拟方法,主要依靠牛顿力学来模拟分子体系运动,是研究微观世界的有效手段。但传统研究手段的时间复杂度较高,仅限于研究数千量级原子的小型系统,在应用中存在普遍局限性。而深势科技提出的DeePMD-kit可将AI技术成功应用于分子动力学模拟,并实现了上亿原子体系的模拟,目前该项技术已经发展成为端到端的开源解决方案,以科学智能(AI for Science)为分子动力学的行业应用带来了更多可能。
而昇腾AI凭借超强算力及完整软件栈配套,为科学智能提供了天然土壤,通过昇腾AI硬件及异构计算架构CANN,借助软硬件协同能力充分释放硬件算力,为DeePMD的大规模分子动力学模拟提供了高性能解决方案。
基于CANN自定义DeePMD高性能算子
对诸如DeePMD之类的神经网络模型进行加速的关键之一是对网络中的算子进行深度优化,从而发挥出硬件的澎湃算力,而作为专门面向AI场景的异构计算架构,CANN正是搭起了上层深度学习框架和底层AI硬件的桥梁。
基于CANN的算子编程接口,开发人员在DeePMD网络中开发相关的自定义算子,其中涉及到数据排序、读取与存储等离线操作,也涉及矩阵、标量的计算,这些自定义算子不但对精度有较高的要求,而且也很大程度上决定了模型整体的性能。
CANN能够高效协同昇腾不同异构单元自定义高性能算子,充分释放AI Core、AI CPU和Vector Core的异构算力。比如将离散的距离计算和排序部署在AI CPU上,将可以并行的矩阵、标量的计算部分部署在AI Core上,以发挥出每个计算单元的能力,充分发挥硬件计算性能。
高效协同昇腾不同异构单元自定义高性能算子
基于CANN的DeePMD融合规则及网络优化
算子融合也是网络性能优化重点之一,也是业界常用手段,在DeePMD原生实现中,算子融合就作为性能工程的主要手段之一。
而在DeePMD网络性能优化中,算子开发人员进一步结合网络特点,借助CANN设计新的融合规则,包括PAD算子支持动静合一、Mul支持NZ+ND和ND+NZ、MatMul + Add + TanhGrad支持Buffer融合等,这些融合在整网性能提升中起到了关键作用。同时借助CANN的智能调优工具AOE,自动化完成子图调优、算子调优,以及TransData消除等一系列优化,极大提升了模型调优效率。
DeePMD网络融合示例
此外项目优化了整网混合精度推理流程,将半精度和单精度混合使用,有效减少内存占用,充分释放硬件算力,进一步加速模型执行,在确保分子模拟精度的前提下带来最大性能收益。在不同场景对分子模拟的物理性质与仿真结果对比测试中,以铜拉伸应力应变模拟实验为例可以看到,昇腾AI基础软硬件平台的实验结果已经非常近似实际数据。
昇腾AI基础软硬件平台上铜的拉伸应力应变模拟结果
昇腾AI的整体优化解决方案使DeePMD-kit工具在分子动力学模拟计算上取得1.5+倍现有产品的性能提升成果,助力分子动力学服务成功商用。未来,昇腾AI将继续以超强算力和软硬协同能力助力科学计算进入科学智能新阶段,携手更多伙伴凝心聚力,共同向上发展,构筑科学智能领先格局,全面迈进数智时代。
性能达1.5+倍!昇腾AI助力分子动力学模拟研究的更多相关文章
- 【华为昇腾】 序言:从昇腾AI软硬件平台聊起
2021年是很值得纪念的一年,从上半年开始跟随导师编写有关华为昇腾软件栈CANN的教材,一年的时间反复迭代 终于快要出版了. 这一系列博客可以视作我从编者的角度,重新梳理的全书思路.明年入职商汤之后要 ...
- 昇腾AI新技能,还能预防猪生病?
摘要:日前,由华为与武汉伯生科技基于昇腾AI合作研发的"思符(SiFold)蛋白质结构预测平台"正式推出,并成功应用于国药集团动物保健股份有限公司的猪圆环病毒疫苗研发中. 本文分享 ...
- 昇腾AI计算,618冲动消费也不怕
摘要:近期大热的图像识别处理核赔技术,可应对剁手党们冲动购物之后汹涌而至的退货场景.那么,这背后运用的技术原理是怎样? AI计算平台又能否重构企业业务引擎呢? 随着AI技术的挖掘与应用落地,也为每一年 ...
- 用昇腾AI护航“井下安全”
摘要:基于CANN(异构计算架构)打造的"智能矿山安全生产管理平台",能够更便捷和更高效地服务于更多矿山安全生产建设. 本文分享自华为云社区<华为携手云话科技助力矿山智能化, ...
- 【读一本书】《昇腾AI处理器架构与编程》--神经网络基础知识(2)
1 卷积神经网络:输入层 之前提到多层感知机的参数太多,导致训练耗时长并且对图像处理也不具有优势,因此大神们 就提出了多层神经网络,其中最经典的是卷积神经网络(Convolution Neural N ...
- 昇腾AI 软硬件全栈平台
昇腾AI 软硬件全栈平台
- 我是如何将一个老系统的kafka消费者服务的性能提升近百倍的
☞☞☞ 我是如何将一个老系统的kafka消费者服务的性能提升近百倍的 ☜☜☜ ○○○○○○○○○○○○○○○ 大家好,又见面了~ kafka作为一种高吞吐量的分布式发布订阅消息系统,在业务系统中被广泛 ...
- 又一重要进展发布!OpenMMLab算法仓支持昇腾AI训练加速
摘要:上海人工智能实验室的浦视开源算法体系(OpenMMLab)团队基于昇腾AI发布了MMDeploy 0.10.0版本,该版本已支持OpenMMLab算法仓库在昇腾异构计算架构CANN上的推理部署. ...
- 腾讯毛华:智能交互,AI助力下的新生态
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 演讲人:毛华 腾讯云语音云总经理 背景:5月23-24日,以"焕启"为主题的腾讯"云+未来"峰会在广 ...
- 修改一行SQL代码 性能提升了N倍
在PostgreSQL中修改了一行不明显的代码,把(ANY(ARRAY[...]) 改成 ANY(VALUES(...))),结果查询时间从20s变为0.2s.最初我们学习使用EXPLAN ANALY ...
随机推荐
- 2022-10-22 CSP赛前隔离时的模拟赛 1:3
T1 一个比较迷的数论题,推柿子. 首先能得到基础柿子: \[m\cdot x + \frac{m(m-1)\cdot y}{2} = n \] 略微化简得: \[2x + (m-1)y = \fra ...
- 文心一言 VS 讯飞星火 VS chatgpt (124)-- 算法导论10.5 5题
五.用go语言,给定一个n结点的二叉树,写出一个 O(n)时间的非递归过程,将该树每个结点的关键字输出.要求除该树本身的存储空间外只能使用固定量的额外存储空间,且在过程中不得修改该树,即使是暂时的修改 ...
- 让 keil MDK 支持C99
打开options fot target-> C/C++ 在 Misc Controls 中添加 --c99.
- AndroGenshin
是一个apk文件 jadx打开以后发现主要操作 找到mainactivity,研究代码可以知道主要操作就是对两个字符串进行RC4加密再进行一次换表的base64操作,最后再将加密后的结果与flag做对 ...
- WebViewJavascriptBridge.js代码学习
//notation: js file can only use this kind of comments //since comments will cause error when use in ...
- Vite 5.0有哪些新变化?
Rollup 4 Vite 现在使用 Rollup 4,它也带来了一些重大的变化,特别是: 导入断言(assertions 属性)已被重命名为导入属性(attributes 属性). 不再支持 Aco ...
- C#winform中使用SQLite数据库
公众号「DotNet学习交流」,分享学习DotNet的点滴. SQLite简介 SQLite是一种轻量级的关系型数据库管理系统(RDBMS),它以一个C库的形式提供.以下是SQLite数据库的一些关键 ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-34-处理https 安全问题或者非信任站点-下篇
1.简介 这一篇宏哥主要介绍playwright如何在IE.Chrome和Firefox三个浏览器上处理不信任证书的情况,我们知道,有些网站打开是弹窗,SSL证书不可信任,但是你可以点击高级选项,继续 ...
- 12k Star、40万+开发者信赖的开源商城系统
前几天,有位读者问我有没有什么优秀的国产开源电商平台,他要拿来接单赚外快.我一听这话,精神头就来了. 所以,今天 HelloGitHub 就给大家找来了一款自用.二开都很方便的国产开源商城系统--CR ...
- Bash—source命令&export命令&bashrc文件
当不使用 source 命令执行脚本时,会创建一个子 shell,在该子 shell 中执行完脚本后退出子 shell.不是用 export 定义的变量只对该 shell 有效,对子 shell 是无 ...