揭开HPC应用的神秘面纱
揭开HPC应用的神秘面纱 本文主要通过部署调优一个量子化学的HPC应用让大家更直观的了解和感受HPC的魅力。## 前言说起高性能计算High Performance Computing缩写 HPC很多人第一个想法就是动辄亿亿次浮点运算的“超级计算机”国家花这么大代价做出来的机器干啥用呢其实大到天气预报、飞机制造、新冠疫苗研发小到唐氏筛查、《熊出没》渲染到处可见HPC的身影就拿最近的北京冬奥会来说其成功举办就脱离不了济南超算对空气质量预报准确及时的预警当然HPC也可以离我们很远举几个戈登贝尔奖的栗子(被誉为“超级计算应用领域”内的诺贝尔奖)。section: 揭开HPC应用的神秘面纱 本文主要通过部署调优一个量子化学的HPC应用让大家更直观的了解和感受HPC的魅力。 前言source_type: html_tablefields:获奖年份获奖项目超算系统rows:获奖年份2021; 获奖项目超大规模量子随机电路实时模拟; 超算系统中国.神威获奖年份2020; 获奖项目超过一亿个原子的分子动力学模拟计算; 超算系统美国.Summit获奖年份2016; 获奖项目千万核可扩展全球大气动力学全隐式模拟; 超算系统中国.神威对超算来说硬件很重要但现在是“软件吞噬一切”的时代路修的再好没有车在上面跑也没用如果把开源软件比作汽车市场那么HPC应用就是这个市场中的 “豪车”为了追求最极致的性能它们用着最先进的“发动机”(编译器)、最复杂的“轮胎”(并行技术)同时也拥有最繁琐的“机械结构”(安装和调优流程)优化过HPC应用的“赛车手”都有一个感受抱黄连敲门—苦到家了难怪HPC被喻为是IT行业“金字塔上的明珠”本文旨在通过部署调优一个量子化学的HPC应用让大家直观的感受HPC的魅力让看似阳春白雪的HPC也能走向平民化走向每个人、每个家庭、每个组织。## 求解薛定谔方程波函数被证明对获取材料的宏观性能(如光学性质、力学性质、热力学性质、磁学性质)极具价值现实中的物质由多个电子构成的它们的波函数该如何求解一个铁原子有26个电子两个有52个电子计算2个铁原子相互作用时需要计算任意一个与其它51个电子的相互作用当计算原子数增加时计算量呈指数增加100个铁原子的计算量恐怕都是天文数字了更不要说几十万个原子纳米材料这就不得不提著名的Kohn-Sham公式他将多电子体系近似用一个或几个函数来代替求解多体薛定谔方程计算量大大减少Kohn因为这个公式获1998年Nobel化学奖本文要介绍的HPC应用QE就是这个公式的开源实现在量子化学领域被广泛应用从官网介绍来看“QUANTUM ESPRESSO是一种用于电子结构计算和材料建模的量子化学方法的软件套件在GNU通用公共许可证下免费分发。它基于密度泛函理论平面波基组和赝势包括范数守恒和超软理论。”这段文字看不懂没关系只要记住求解公式是这个就行了Kohn-Sham公式## 安装QE准备工作CentOS7/openEulerARM服务器QE的安装可以参考文档( https://support.huaweicloud.com/prtg-kunpenghpcs/openmind_kunpengqe_02_0001.html )一步步安装。但是本文推荐另一种更简便的安装方式那就是HPC贾维斯助手( https://gitee.com/openeuler/hpcrunner )专门为HPC应用打造的一键依赖安装、环境配置、编译、运行、调优平台将HPCRunner解压或者clone到服务器某个位置其目录结构及说明如下所示贾维斯源码目录步骤1进入这个贾维斯目录并初始化环境cd hpcunner source ./init.sh步骤2拷贝QE的HPC配置并切换到改配置(基于鲲鹏GCCOpenMPI技术栈)cp ./templates/qe/6.4/data.qe.test.config ./ ./jarvis -use data.qe.test.config步骤3获取QE及依赖软件1下载QE 6.4版本( https://github.com/QEF/q-e/archive/refs/tags/qe-6.4.1.tar.gz )解压至tmp目录tar -xzvf ./downloads/q-e-qe-6.4.1.tar.gz -C /tmp2将QE的算例也拷贝至/tmp\cp -rf ./workloads/QE/qe-test /tmp步骤4一键下载并安装依赖执行如下命令安装鲲鹏GCCOpenMPI (请准备咖啡5分钟左右)./jarvis -d -dp下载依赖并安装步骤5一键编译QE./jarvis -bQE的编译步骤6一键运行QE./jarvis -rQE的运行几分钟后应该可以看到“JOB DONE”字样经过14次SCF自洽运算我们就可以得出原子间的能量值到这里你已经体验了一遍HPC应用的安装运行全流程了。## QE调优在HPC应用运行的过程中可以通过perf性能工具无侵入式的采集热点函数数据而且以目录树的形式展现出来。步骤1运行QE./jarvis -r步骤2新建窗口并进入hpcrunner目录运行性能采集命令./jarvis -p从热点函数实时分布图可以看出除了MPI通信之外GEMM矩阵运算操作占比较高可以考虑使用openblas进行替代同时可以考虑把编译器换成毕昇、MPI通信库换为HyperMPI。步骤3拷贝优化配置cp ./templates/qe/6.4/data.qe.test.opt.config ./步骤4切换到优化配置./jarvis -use data.qe.test.opt.config步骤5一键下载并安装依赖(大概6分钟左右)./jarvis -d -dp步骤6一键编译QE./jarvis -b步骤7一键运行QE./jarvis -r优化之后的QE这次的运行时间是不是更短了呢让我们对比一下前后的性能情况吧QE前后性能对比如果你也得到了这个结果那么恭喜你完成了一次HPC应用的调优## 总结雄关漫道真如铁,而今迈步从头越实际HPC应用的优化之路险阻而又漫长越是交叉学科越需要全人类的智慧共同参与才能结出美丽的果实但是我坚信只要一直走总有一天会到达目的地。美好的未来在前方如果您对HPC有兴趣请加入到openEuler HPC SIG这里除了有迁移调优技术分享还有大量开源实习机会( https://gitee.com/openeuler/hpcrunner/issues )在家也能领工资更有百万奖金众智计划等你来拿。请关注开源项目贾维斯为多样性算力添砖加瓦共建openEuler生态。欢迎关注贾维斯项目https://gitee.com/openeuler/hpc关于作者方春林Numpy/Taro MaintainerUSIMD和HPCRunner开源项目Leader目前主要聚焦于openEuler HPC SIG运营openEuler HPC SIG致力于建立气象、分子动力学、生物和制造等领域的生态交流圈打造HPC多样性算力部署调优统一平台自动容器化助力极简部署一站式调优HPC应用让看似阳春白雪的HPC应用走向平民化

相关新闻

Windows系统镜像选择指南:Consumer与Business Editions核心区别解析

Windows系统镜像选择指南:Consumer与Business Editions核心区别解析

1. 从一次“装错系统”的尴尬经历说起 前阵子帮朋友的公司处理一台旧电脑,需要重装系统。朋友发来一个链接,说是从官网下载的“最新Windows 10镜像”。我一看文件名, Win10_22H2_Chinese(Simplified)_x64.iso ,没多想就做了启动…

2026/8/17 22:38:18 阅读更多 →
C++字符串拼接编译错误解析:从字面值到std::string的解决方案

C++字符串拼接编译错误解析:从字面值到std::string的解决方案

1. 问题初探:一个看似简单的字符串拼接为何报错?如果你在C代码里写过类似std::string result “Hello” “World”;这样的语句,并且编译器毫不留情地甩给你一个error: invalid operands of types ‘const char [6]‘ and ‘const char [6]‘…

2026/8/17 22:38:18 阅读更多 →
RabbitMQ实战指南:从异步解耦到消息队列核心原理与Java应用

RabbitMQ实战指南:从异步解耦到消息队列核心原理与Java应用

1. 从“消息积压”到“异步解耦”:为什么我们需要RabbitMQ?如果你做过几个Java后端项目,大概率遇到过这样的场景:用户注册成功后,需要发送一封欢迎邮件。新手最常见的做法是,在注册的业务逻辑里&#xff0c…

2026/8/17 22:38:18 阅读更多 →

最新新闻

开关电源SMPS深度解析:从工作原理到PCB布局与调试实战

开关电源SMPS深度解析:从工作原理到PCB布局与调试实战

1. 项目概述:从“黑盒子”到“能量心脏”在电子设备的世界里,有一个组件无处不在,却又常常被忽视。它藏在你的笔记本电脑电源适配器里,躲在台式电脑机箱的角落,也内置于你的手机充电头中。它就是开关模式电源&#xff…

2026/8/19 3:00:06 阅读更多 →
双时态图数据库TGMS:原生支持时间维度的图数据管理新范式

双时态图数据库TGMS:原生支持时间维度的图数据管理新范式

1. 项目概述:当图数据遇上“时间旅行”如果你处理过图数据,比如社交网络、金融交易链路或者知识图谱,一定遇到过这样的头疼事:想知道某个实体(比如一个用户、一笔交易)在过去某个特定时间点的状态&#xff…

2026/8/19 3:00:06 阅读更多 →
RT-Thread移植GD32实战:Keil环境下的RTOS入门与BSP开发指南

RT-Thread移植GD32实战:Keil环境下的RTOS入门与BSP开发指南

1. 从零开始的抉择:为什么是RT-Thread GD32 Keil?如果你和我一样,是从STM32或者51单片机转过来的,第一次接触GD32和RT-Thread,心里多半会犯嘀咕:这组合靠谱吗?网上资料好像没STM32多&#xff…

2026/8/19 3:00:06 阅读更多 →
从吉利2018材料年会看汽车供应链转型:轻量化、环保化与智能化

从吉利2018材料年会看汽车供应链转型:轻量化、环保化与智能化

1. 一场被低估的行业“风向标”:从一场年会看供应链的深层变革如果你在汽车行业,尤其是零部件或材料领域摸爬滚打过几年,大概会对“供应商技术年会”这个名词既熟悉又陌生。熟悉的是,每年各大主机厂都会举办类似的会议&#xff0c…

2026/8/19 3:00:06 阅读更多 →
SSD1306 OLED动态Emoji显示:从位图转换到嵌入式系统优化

SSD1306 OLED动态Emoji显示:从位图转换到嵌入式系统优化

1. 项目概述:让OLED屏“活”起来玩过SSD1306这类单色OLED屏的朋友都知道,它的显示能力其实相当不错,128x64的分辨率在小小的尺寸上能呈现不少细节。但很多时候,我们用它就是显示几行文字、画个简单的图标或者波形图,总…

2026/8/19 3:00:05 阅读更多 →
基于Home Assistant与Zigbee的智能灯光语音控制实战指南

基于Home Assistant与Zigbee的智能灯光语音控制实战指南

1. 项目概述:当语音助手遇上智能家居“Ok Google, Give Me Lights”——这个项目标题,听起来就像一句日常的魔法咒语。它精准地描绘了一个现代智能家居场景:你刚下班回家,双手提着购物袋,或者正窝在沙发里享受电影时光…

2026/8/19 2:59:05 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →