迈向Z级计算:Cloud4Science范式加速科学发现进程

传统超级计算机作为科学计算的核心支柱,在推动技术进步方面发挥了不可替代的作用,但随着科学智能时代下需求的多样化和复杂化,其扩展性和能效的局限逐渐显现。

针对这一挑战, 微软亚洲研究院 的研究员提出了 Cloud4Science 的新范式,以云计算、 人工智能 和高性能计算技术的深度融合为核心,重新定义科学计算的架构,加速科学智能的研究进展。

在此框架下,研究员们已对关键科学计算算法如 Stencil、FFT、SpMV 等进行了优化,并成功开发了一系列创新算法,为科学家利用云计算及 人工智能 平台进行科学计算和研究开辟了新的途径。

相关工作已连续发表在 SC、PPoPP 等高性能计算与并行计算领域顶会,并获得了 PPoPP’24 唯一最佳论文奖。

图片

在刚刚落幕的国际超算大会 SC’24 上,最新揭晓的戈登贝尔奖获奖应用成功突破了 E 级计算的瓶颈,标志着超级计算机应用正式迈入下一个关键阶段——万 P 级计算(每秒千亿亿次浮点运算)。作为高性能计算(HPC)的巅峰代表,超级计算机长期以来一直是推动科学和技术进步的重要力量。

科学计算作为超级计算机的核心应用领域,利用其强大的计算能力,通过数值模拟、数据分析和数学建模,旨在解决科学、工程和技术中的复杂问题,在揭示自然规律、预测未知现象以及推动技术创新中发挥着不可或缺的作用。

然而,随着科学智能(AI for science)时代的到来,超级计算机在追求更高性能的同时,也面临着一些新的挑战:

  • 架构碎片化:各超算系统采用不同的硬件架构和编程模型,科学应用需要复杂的定制化适配才能运行。这不仅限制了科学应用的多样性,还难以兼顾传统科学计算与智能计算的双重需求。

  • 开发难度高:科学智能时代强调多学科、多技术领域的交叉与协作。不同的超级计算机架构不仅增加了软件开发和维护的复杂度,开发者还需要不断重新学习并掌握跨领域的专业知识,阻碍了科学研究的灵活性和快速推进。

  • 能耗与成本压力:当前 E 级超算每年耗电可达上亿度,未来 Z 级超算能耗可能更高。同时,系统更新换代成本巨大,应用需重新设计和部署,进一步增加了科研投入的时间和经济成本。

「传统科学计算的优势在于数值求解,通过高精度计算模拟复杂的物理过程。然而,随着问题规模的快速扩大和计算复杂度的持续攀升,单纯依赖数值求解的模式难以充分释放未来万 P 级甚至 Z 级超算的全部潜力。」 微软亚洲研究院 高级研究员李琨表示,「科学计算正在从传统数值求解向融合知识推理的科学智能转型。通过将高性能计算技术与未来的 Z 级算力结合,全面支撑科学智能时代对极限计算和智能推理的双向扩展需求,才会为更多突破性发现提供全新的可能性。」

Cloud4Science 范式加速科学计算进程

为了应对这些挑战, 微软亚洲研究院 的研究员提出了 Cloud4Science 范式,希望通过融合现有的云基础设施、 人工智能 和高性能计算技术,重塑科学计算的模式。这一范式为传统超算范式提供了有效的补充,也为科学智能提供了一种更加灵活、高效且可扩展的解决方案。

「Cloud4Science 范式通过将科学计算任务迁移到云平台或 人工智能 架构上,实现了计算架构的统一,降低了科学计算的访问门槛。」 微软亚洲研究院 首席研究员曹婷表示,「这使得科研人员能够在单一平台上使用多种算法和应用,同时,云平台和 人工智能 的强大算力也将大幅提升科学计算效率,为未来的科学研究与计算应用开辟新的可能性。」

为了实现 Cloud4Science 范式,研究员们计划分两个阶段来推进:

图片

Cloud4Science:融合云计算、AI 与高性能计算,驱动科学智能新未来

第一阶段是以问题为导向,从算法角度对传统科学计算进行迁移,确保这些计算任务能够在云计算或人工智能 硬件架构上顺利运行。这一阶段的核心任务是将经典的科学计算算法,如 Stencil、FFT(快速傅里叶变换)、SpMV(稀疏矩阵-向量乘法)等,转换为基于矩阵乘法的计算模式,以便充分利用云计算和 人工智能 的强大计算能力。通过这一转化,传统科学计算算法的性能得以显著提升,同时大幅降低了科学应用对硬件适配的复杂性,并为下一步科学计算的智能化奠定了基础。

第二阶段的目标是推动科学计算算法与人工智能 的深度融合。传统的科学计算算法更注重数值计算,而科学智能则强调推理能力的提升。科学计算模型与大语言模型虽然在某些方面可以互相借鉴,但二者之间存在显著差异。科学计算模型通常包含大量的物理信息和生物信息,这些专业知识需要被有效地整合到算法设计中。因此,这一阶段的任务是设计融合传统科学计算模型与 人工智能 技术的创新解决方案,通过 人工智能 技术有效整合领域知识、生成洞见并促进科学创新,充分利用云原生和 人工智能 原生架构的优势,进一步推动 Cloud4Science 范式的发展。

传统科学算法向云计算与人工智能 硬件的无缝迁移

目前,第一阶段的研究目标已经基本完成,即实现传统科学计算算法向云计算和 人工智能 硬件的无缝迁移。

研究员们从 Stencil 算法入手,设计了全新的算法 Jigsaw 和 ConvStencil,将 Stencil 算法向量化并重新张量化成矩阵乘法模式,使 Stencil 算法成功映射到 Tensor Core 等 人工智能 加速器硬件单元。

随后,研究员们又引入了 人工智能 驱动的低秩适应(Low-Rank Approximation,LoRA)技术,进一步优化 Stencil 性能,推出了 LoRAStencil 以及融合三种经典算法的 FlashFFTStencil,这些创新让多种科学计算算法能够更高效地部署在 人工智能 加速单元上,实现性能的显著提升并同时降低了硬件适配的复杂性。

扩展矩阵计算边界,连接科学与 AI 硬件

为突破科学计算的性能瓶颈,研究员们提出了  ConvStencil [1],通过将传统的科学计算算法映射为矩阵乘法,进一步扩展了矩阵计算的应用边界,为科学计算与 AI 硬件的高效协同奠定了坚实基础。

基于 Stencil 算法与 人工智能 领域广泛应用的卷积计算模式有着相似之处,研究员们专门开发了一套针对 GPU Tensor Core 的优化算法,使得其能够充分利用 Tensor Core 强大的矩阵计算能力。

通过引入布局转换与冲突消除机制,ConvStencil 不仅显著提升了科学计算与云计算及 人工智能 硬件的兼容性,还促进了科学计算从传统的 CPU 计算向现代 GPU 计算的顺利过渡。

图片

基于矩阵乘法的 ConvStencil 计算系统(PPoPP’24 唯一最佳论文奖)

为了实现内存访问效率的大幅提高,研究员们在 ConvStencil 的基础上设计了 LoRAStencil [4],通过融入 LoRA 技术,巧妙地结合了数据的低秩特征与计算需求。利用分解权重矩阵,优化数据的加载与复用过程,LoRAStencil 有效减少了不必要的内存访问,解决了维度残差问题。

实验评估显示,LoRAStencil 相比现有技术,性能提升最高可达2.16倍。LoRAStencil 为在 Tensor Core 单元上实现高效的张量化 Stencil 计算开辟了新的途径,使其在科学计算中能发挥更大作用。

尽管 Tensor Core 单元在处理 人工智能 任务时表现出色,但在处理如 Stencil 这样涉及大量稀疏数据的高性能计算算法时,仍面临计算资源利用率不高和内存带宽受限的问题。

为了解决这些挑战,研究员们创造性地将 Stencil、FFT 和矩阵乘法三种经典科学计算算法融为一体,提出了更为高效的 FlashFFTStencil 计算系统 [3]。

实验结果证实,FlashFFTStencil 实现了无稀疏性的边界转换,其性能较现有最先进的技术平均提升了 2.57 倍。

FlashFFTStencil 在实现了多种科学计算算法统一的同时,还成功地将这些算法与 Tensor Core 单元等先进的 人工智能 硬件连接起来,为科学计算的未来发展提供了新的可能性。

图片

基于全稠密矩阵计算的 FlashFFTStencil 系统

时空数据向量对齐,提升 CPU 计算效率

Jigsaw 算法 [5] 专注于 Stencil 算法的向量化,通过采用基于通道的蝶形向量化、基于奇异值分解的维度展平(SVD-based Dimension Flattening)技术以及基于迭代的时间合并策略,有效解决了空间和时间维度上的数据对齐冲突(Data Alignment Conflict, DAC)问题,大幅提升了科学计算在 CPU 上的效率。

实验结果显示,在多种测试环境中,Jigsaw 相对于当前最先进的技术平均实现了2.31倍的加速效果,适用于广泛的 Stencil 内核。

在此基础上,研究员们还对另一种重要的科学计算算法——稀疏矩阵-向量乘(Sparse Matrix-Vector Multiplication, SpMV)进行了深入优化,提出了 VNEC 算法 [6]。

这是一种创新的 SpMV 存储格式,旨在优化数据局部性和向量化操作,同时缓解现有算法的局限性。VNEC 通过剔除冗余列和改进数据局部性,大幅度减少了内存访问开销,增强了向量计算的效率。

实验表明,在多核处理器环境下,VNEC 在 x86 CPU 上相较于标准 MKL SpMV 例程最高实现了 6.94 倍(平均 2.10 倍)的加速,在 ARM CPU 上的加速比最高可达 5.92 倍(平均 1.73 倍)。

由于 VNEC 格式转换的预处理成本较低,特别适用于实际的迭代应用场景,展现出了极高的实用价值。

Cloud4Science 范式在量子化学中的实践探索

为了验证 Cloud4Science 范式能否为科学计算带来更好的性能提升, 微软亚洲研究院 的研究员们与微软研究院科学智能中心(Microsoft Research AI for Science)团队合作,共同开发了一种端到端的优化编译器 EPT(Elastic Parallel Transformation)[2]。利用弹性并行转换技术,EPT 可以把传统的科学计算算法,特别是从头算量子化学计算,自动适配至 GPU 架构。因此,EPT 能够将复杂的量子化学问题分解为适合并行处理的单元,优化任务的划分粒度,并生成专为 GPU 架构优化的高效计算内核。

图片

弹性并行转换(EPT)编译器系统框架图

通过在多种 GPU 硬件(如 NVIDIA V100、A6000、A100 等)上对13种具有代表性的分子进行测试,实验结果显示,EPT 在保证从头算精度的前提下,相较于现有的顶级 CPU 和 GPU 解决方案,性能分别提升了高达34.90倍和9.89倍。

通过 Cloud4Science 范式,量子化学研究的计算效率和精度得到了显著提升,这为加速新材料开发、药物设计和基础科学探索提供了坚实的技术基础。

Cloud4Science 范式推动 HPC 领域变革,加速科学研究发现

在科学研究迈向智能时代的进程中,矩阵计算正逐渐成为连接传统数值计算与科学智能的关键桥梁,而 Cloud4Science 范式凭借其 Z 级计算潜力,不但为科学在时间和空间尺度上带来了质的飞跃的可能,同时也为科学计算向智能化与推理驱动方向的演进注入了动力。

以量子化学为例,Cloud4Science 不仅能缩短计算周期,将复杂分子相互作用的模拟时间从数年压缩至数周甚至数天,还能通过矩阵计算与 AI 推理的融合,使得系统能够基于海量计算数据进行模式识别与智能推理,例如预测药物分子与蛋白靶点的相互作用趋势,自动发现可能的抗性突变路径。

正如个人计算机从单机时代迈入云计算时代,彻底革新了信息处理的广度与效率,未来 Cloud4Science 范式的成功应用也有望在 人工智能 时代为高性能科学计算带来新的变革。

通过融合云计算的可扩展性、AI 的智能决策能力以及高性能计算技术,Cloud4Science 将在未来迈向 Z 级计算的过程中,实现科学计算在极限求解与智能推理两大方向的双向突破,赋予科学智能更强的灵活性、更高的效率与更广泛的可扩展性,为科学研究带来新的创新动力与发展空间。

「Cloud4Science 新范式将显著降低高性能计算基础设施的开发成本,并提升其对科研人员的易用性。」曹婷表示,「尤其是对于那些资源有限的小型研究团队或初创企业而言,这一范式将赋能他们获取 E 级乃至万 P 级科学计算的潜力。这意味着更多的科研工作者可以参与到之前仅限于顶尖机构和大型企业才能涉足的前沿科学计算研究中,极大地拓宽了科学研究的边界,加速科学发现的步伐。」

更多内容可以访问我的博客 https://ai.tmqcjr.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/946695.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高阶数据结构之并查

并查集的概念 之前我们曾学过树,二叉树、二叉搜索树、红黑树、AVL树等,而并查集可以看做是这些树的集合,也就是森林,它也是一种树型结构,不过是顺序的树型结构,如果有学过堆的同学应该会很熟悉。 它的作用是…

全面解析 Node-RED:功能、Docker 部署与实战示例

言简意赅的讲解Node-RED解决的痛点 Node-RED 是一个基于流的编程工具,专为物联网(IoT)应用而设计。它通过可视化的编程界面,使开发者能够轻松地连接各种硬件设备、API 以及在线服务,构建复杂的应用流程。本文将详细介…

Diffusion Transformer(DiT)——将扩散过程中的U-Net换成ViT:近频繁用于视频生成与机器人动作预测(含清华PAD详解)

前言 本文最开始属于此文《视频生成Sora的全面解析:从AI绘画、ViT到ViViT、TECO、DiT、VDT、NaViT等》 但考虑到DiT除了广泛应用于视频生成领域中,在机器人动作预测也被运用的越来越多,加之DiT确实是一个比较大的创新,影响力大&…

MAC M4安装QT使用国内镜像源在线安装

MAC M4安装QT使用国内镜像源在线安装 一、下载安装包1. 访问[https://www.qt.io/](https://www.qt.io/)下载在线安装包2. 下载结果 二、创建QT账户,安装的时候需要三、安装1. 终端打开安装包2. 指定安装源3. 运行安装完的QT 一、下载安装包 1. 访问https://www.qt.…

No.1十六届蓝桥杯备战|第一个C++程序|cin和cout|命名空间

第一个C程序 基础程序 使用DevC5.4.0 写一个C程序 在屏幕上打印hello world #include <iostream> using namespace std;int main() {cout << "hello world" << endl;return 0; } 运行这个C程序 F9->编译 F10->运行 F11->编译运行 mai…

前端开发 -- 自动回复机器人【附完整源码】

一&#xff1a;效果展示 本项目实现了一个简单的网页聊天界面&#xff0c;用户可以在输入框中输入消息&#xff0c;并点击发送按钮或按下回车键来发送消息。机器人会根据用户发送的消息内容&#xff0c;通过关键字匹配来生成自动回复。 二&#xff1a;源代码分享 <!DOCTYP…

UNI-APP_i18n国际化引入

官方文档&#xff1a;https://uniapp.dcloud.net.cn/tutorial/i18n.html vue2中使用 1. 新建文件 locale/index.js import en from ./en.json import zhHans from ./zh-Hans.json import zhHant from ./zh-Hant.json const messages {en,zh-Hans: zhHans,zh-Hant: zhHant }…

【MySQL】第一弹----库的操作及数据类型

笔上得来终觉浅,绝知此事要躬行 &#x1f525; 个人主页&#xff1a;星云爱编程 &#x1f525; 所属专栏&#xff1a;MySQL &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 一、SQL 语句分类 DDL:数据定…

家用电器销售系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…

ChatGPT 与 AGI:人工智能的当下与未来走向全解析

在人工智能的浩瀚星空中&#xff0c;AGI&#xff08;通用人工智能&#xff09;无疑是那颗最为璀璨且备受瞩目的星辰。OpenAI 对 AGI 的定义为“在最具经济价值的任务中超越人类的高度自治系统”&#xff0c;并勾勒出其发展的五个阶段&#xff0c;当下我们大多处于以 ChatGPT 为…

28.<Spring博客系统⑤(部署的整个过程(CentOS))>

引入依赖 Spring-boot-maven-plugin 用maven进行打包的时候必须用到这个插件。看看自己pom.xml中有没有这个插件 并且看看配置正确不正常。 注&#xff1a;我们这个项目打的jar包在30MB左右。 <plugin><groupId>org.springframework.boot</groupId><artif…

win11 vs2022 opencv 4.10使用vs Image Watch插件实时可视化内存mat对象

这个本来是非开源工业软件HALCON的一个功能&#xff0c;方便提升图像识别开发效率。原以为opencv没有&#xff0c;需要通过进程间共享内存的方式去实现。 结果在官网帮助文档中发现已经提供了。 opencv 4.10帮助文档https://docs.opencv.org/4.10.0/index.htmlOpenCV Tutorial…

用Python操作字节流中的Excel工作簿

Python能够轻松地从字节流中加载文件&#xff0c;在不依赖于外部存储的情况下直接对其进行读取、修改等复杂操作&#xff0c;并最终将更改后的文档保存回字节串中。这种能力不仅极大地提高了数据处理的灵活性&#xff0c;还确保了数据的安全性和完整性&#xff0c;尤其是在网络…

uni-app微信小程序如何使用高德地图。通过经纬度获取所在城市,涉及到授权获取地理位置权限

高德地图官方是这样介绍的使用方法可以参考&#xff1a;入门指南-微信小程序插件 | 高德地图API 我再介绍一下我得具体应用。 1&#xff0c;首先要在申请高德地图开放平台得账号。然后在这个账号中申请一个应用。类型选择微信小程序。 我的应用 | 高德控制台 获取Key-创建工…

YOLOv5部署到web端(flask+js简单易懂)

文章目录 前言最终实现效果图后端实现 主界面检测函数检测结果显示 前端实现 主界面(index.html&#xff09;显示图片界面 总结 前言 最近&#xff0c;老板让写一个程序把yolov5检测模型部署到web端&#xff0c;在网页直接进行目标检测。经过1个星期的努力&#xff0c;终于实…

使用Locust对Redis进行负载测试

1.安装环境 安装redis brew install redis 开启redis服务 brew services start redis 停止redis服务 brew services stop redis 安装Python库 pip install locust redis 2.编写脚本 loadTest.py # codingutf-8 import json import random import time import redis …

C#-使用StbSharp库读写图片

一.StbSharp StbSharp是基于C/Stb图形处理库封装的C#接口,支持多种格式PNG/JPG等图片的处理. GitHub链接: GitHub - StbSharp/StbTrueTypeSharp: C# port of stb_truetype.hhttps://github.com/StbSharp/StbTrueTypeSharp二.使用StbSharp创建高度图 创建一张500*500的高度图PN…

单周期CPU电路设计

1.实验目的 本实验旨在让学生通过设计一个简单的单周期 CPU 电路&#xff0c;深入理解 RISC-V 指令集的子集功能实现&#xff0c;掌握数字电路设计与实现的基本流程&#xff0c;包括指令解析、部件组合、电路设计以及功能仿真等环节&#xff0c;同时培养verilog HDL编程能力和…

【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(五)

****非斜体正文为原文献内容&#xff08;也包含笔者的补充&#xff09;&#xff0c;灰色块中是对文章细节的进一步详细解释&#xff01; 五、 解释评估&#xff08;Explanation Evaluation&#xff09; 在前面的章节中&#xff0c;我们介绍了不同的解释技术和它们的用途&#…

UE5材质节点Camera Vector/Reflection Vector

Camera Vector相机向量&#xff0c;输出像素到相机的方向&#xff0c;结果归一化 会随着相机移动而改变 Reflection Vector 反射向量&#xff0c;物体表面法线反射到相机的方向&#xff0c;x和y和camera vector相反 配合hdr使用