0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用FourCastNet进行气候建模

jf_pJlTbmA9 来源:NVIDIA 作者:NVIDIA 2023-07-05 16:30 次阅读

NVIDIA Base Command Platform 提供了自信地开发复杂软件的能力,这些软件符合科学计算工作流程所需的性能标准。该平台为开发人员提供高效配置和管理人工智能工作流程所需的工具,从而为人工智能开发提供云托管和本地解决方案。集成的数据和用户管理简化了用户和管理员的体验。

现在,使用 NVIDIA Modulus 和基本指挥平台在团队和地点之间创建高保真数字双胞胎是 high-performance computing ( HPC )工作流可用的最新工具。对于从预测最优 airplane maintenance schedules 到 simulating wind farms 的许多用例来说,创建和使用数字双胞胎对于节省时间和金钱至关重要。

开始使用这些用例可能会让人望而却步。然而,一个集成良好的解决方案会带来所有的不同,并使开发人员能够专注于解决问题。 Base Command Platform 只需点击几下即可实现 NGC 目录软件的全方位功能,并能够创建强大的物理知情机器学习( physics ML )神经网络和气候模型。

利用 FourCastNet 进行气候建模

FourCastNet 是开源 Modulus 平台的一部分,专注于以以前不可能的速度创建全球天气预报。它依靠傅立叶神经算子和变换器在性能和分辨率上实现了这一令人难以置信的飞跃。 FourCastNet 现在与基本命令平台兼容。

ERA5 dataset 是一个几十年来整个地球的复杂天气数据集,用于训练和验证这样一个复杂的模型。 FourCastNet 是实现 NVIDIA Earth-2 数字孪生的关键技术。有关更多信息,请参阅 NVIDIA to Build Earth-2 Supercomputer to See Our Future 。

Modulus 团队一直在寻求提高 FourCastNet 的性能,最近更新了它,使用 NVIDIA Data Loading Library ( DALI )将数据摄入 GPU ,进一步加快了洞察时间。

在基本指挥平台上使用 Modulus 提高可扩展性

当在一个可以扩展到几个基于 GPU 的系统的环境中运行时, Modulus 的全部功能就会释放出来。没有比基本命令平台更好的方法来运行像 Modulus 这样的高度可扩展平台来训练像 FourCastNet 这样的大型模型。

为了运行这些示例,我们将稍微修改过的 Modulus NGC container 版本上传到了一个基本指挥平台组织,该组织可以访问由 NVIDIA DGX A100 系统组成的加速计算环境。我们将 1TB 的 ERA5 数据集上传到同一环境中的工作空间。

为了支持协调的多实例工作负载, Base Command Platform 集成了一个名为 bcprun 的工具。bcprun通过抽象机器学习( ML )从业者的复杂性并消除工作负载容器(如mpirun)中对额外软件的需求,简化了多实例工作负载部署。它还为最初为 HPC 调度器(如 Slurm )编写的应用程序提供了一个更容易的入门路径。

以下代码示例显示了 FourCastNet 在 Base Command Platform 上的单实例作业启动:

ngc batch run 
--name "bcp-dali.fcn.training.ml-model.modulus" 
--total-runtime 12H 
--org org-name 
--ace ace-name 
--instance dgxa100.80g.8.norm 
--workspace ERA5_test_21Vars:/era5/ngc_era5_data/:RO 
--result /results 
--image "nvcr.io/org-name/team-name/modulus:22.09-examples_0.4" 
--commandline "
set -x && 
cd /examples/fourcastnet/ && 
ln -s /era5/stats . && 
python fcn_era5.py 
custom.train_dataset.kind=dali 
custom.num_workers.grid=1 
training.max_steps=50000 
training.print_stats_freq=500 
network_dir=/results/network_checkpoint
"

要扩展到两个 NVIDIA DGX A100 八个 GPU 实例(共 16 个),请使用以下命令(在 bold 中突出显示更改):

ngc batch run 
--name "bcp-dali.fcn.training.ml-model.modulus" 
--total-runtime 12H 
--org org-name 
--ace ace-name 
--replicas "2" 
--array-type "PYTORCH" 
--instance dgxa100.80g.8.norm 
--workspace ERA5_test_21Vars:/era5/ngc_era5_data/:RO 
--result /results 
--image "nvcr.io/org-name/team-name/modulus:22.09-examples_0.4" 
--commandline "
set -x && 
cd /examples/fourcastnet/ && 
mkdir -p /results/network_checkpoint && 
ln -s /era5/stats . && 
bcprun --nnodes $NGC_ARRAY_SIZE 
--npernode $NGC_GPUS_PER_NODE 
--cmd '
python fcn_era5.py 
custom.train_dataset.kind=dali 
custom.num_workers.grid=1 
training.max_steps=50000 
training.print_stats_freq=500 
network_dir=/results/network_checkpoint
'
"

bcprun的添加以及添加的参数确保指定的命令(来自--cmd参数)在为作业创建的每个副本上运行(如--replicas和--nnodes参数所指定)。--npernode参数确保在每个实例上为该实例中的每个 GPU 运行一个进程。这导致此作业总共启动了 16 个进程(每个复制副本中有 8 个,总共两个复制副本)。要扩展到使用四个实例,请将--replicas参数设置为四个而不是两个。

基本命令平台不仅为 ML 从业者和管理员提供了易用性,而且证明了已经实现了最高性能。 NVIDIA Selene supercomputer 与 Modulus 运行 FourCastNet 训练进行比较。

在 Selene 上测试了工作负载后,我们在基本指挥平台部署上无缝复制了工作负载,并在两个环境之间获得了几乎相同的结果。这一结果有力地证明,基本指挥平台可以支持企业和科学计算用例中客户最苛刻的性能要求。

modulus-fourcastnet-performance-comparison.png 图 2 :在不同 GPU 数量下, NVIDIA Selene 超级计算机和基本命令平台部署之间的 Modulus FourCastNet 性能比较(在 GPU 数量上同时进行更好)

开发者 Kaustubh Tangsali 的采访

为了了解更多关于在 Base Command Platform 上使用 NVIDIA Modulus 的经验,我们采访了 Modulus 团队的开发人员 Kaustubh Tangsali 。 Kaustubh 领导了在基本指挥平台上运行 FourCastNet 和其他几个软件示例的调查。

简要描述您的行业背景和经验。

我主要在软件行业工作,应用于模拟和计算流体动力学。我致力于 Modulus 平台的开发,这是一个领域专家和人工智能从业者开发物理 ML 模型的框架。我曾与 NVIDIA Thermal 团队等内部合作伙伴密切合作,使用 Modulus 设计散热器,还与几个外部合作伙伴合作,使用 Modulus 加快工作流程。

您在基础指挥平台上使用 Modulus 工作了多长时间?

自 2020 年年中以来,我一直在基地指挥平台上使用 Modulus 。

在基地指挥平台上,日常使用是什么样子的?您的开发周期是什么样子的?

在我对代码或模型进行了一些本地测试后,我通常会将代码安装在基本命令平台工作区中,然后使用 NGC web 界面或仅使用命令行界面( CLI )启动作业。 Jupyter 接口非常适合早期调试。当模型运行到完成时,我下载检查点和结果以进行进一步分析。在运行时,我还使用日志功能和遥测技术来监视作业的状态。

基本指挥平台环境与您使用过的其他环境相比如何?

基本指挥平台的 web 界面是我觉得有用的东西。监视作业、查看用于启动作业的命令、克隆作业以及使用不同的实例类型等功能都很容易。我认为获得最新和最好的 NVIDIA 硬件是一大优势。

对于刚开始使用基地指挥平台的人,你有什么建议吗?

NVIDIA Base Command Platform User Guide 有很好的文档记录,涵盖了数据科学家可能遇到的许多常见用例,包括单 GPU 、多[Z1K1’和多实例作业的命令示例。正如我前面提到的,在扩展作业之前,我喜欢在开发的早期阶段利用运行作业的交互式特性,CLI会对其进行优化。

总结

NVIDIA Modulus 等尖端数字孪生技术依靠强大的计算环境不断进步。基本指挥平台在一组易于使用的界面中利用 NVIDIA GPU 的强大功能,继续 NVIDIA 的使命,即让高级软件功能广泛可访问,以解决重要问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    4929

    浏览量

    102791
  • AI
    AI
    +关注

    关注

    87

    文章

    30077

    浏览量

    268346
  • Base
    +关注

    关注

    0

    文章

    11

    浏览量

    8700
收藏 人收藏

    评论

    相关推荐

    Saber软件功率MOSFET自建模与仿真验证

    Architect工具可对变压器、功率MOSFET、功率二极管、传输电缆等进行定制建模,而且建模信息主要利用器件手册和器件实验数据;因而定制设计的器件模型较为精确,较为真实反映器件的
    发表于 04-12 20:43

    浅析Python建模

    利用Python进行数据分析》 131pandas与建模代码的结合
    发表于 10-22 06:08

    如何使用Patsy创建模型描述?

    利用Python进行数据分析》132 使用Patsy创建模型描述
    发表于 07-14 07:50

    利用Matlab的simulink搭建模型生成C代码

    一、整体思路利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。本文以流水灯建立模型和简单
    发表于 08-04 06:08

    利用Matlab的simulink搭建模型生成C代码

    一、整体思路利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。本文以流水灯建立模型和简单
    发表于 08-10 07:49

    对电动机几种降压启动进行建模及仿真分析

    1引言Matlab是一种高性能的数值计算机和可视化功能的软件。可以利用Matlab中Simulink的可视化仿真工具,将电动机控制利用模块连接起来,构成复杂的系统模型,并进行仿真和分析[1]。本文将
    发表于 09-06 06:19

    基于PSO和SVM的发酵过程建模与优化控制

    针对微生物发酵过程的建模与优化控制问题,利用支持向量机理论进行发酵过程的建模,并提出采用粒子群优化算法对支持向量机建模过程中的重要参数
    发表于 08-31 11:43 6次下载

    如何利用ADIsimPLL对压控振荡器模型进行建模并仿真

    本视频短片介绍如何利用ADIsimPLL对压控振荡器(VCO)模型进行建模并仿真。ADIsimPLL设计工具是一款全面且简单易用的PLL频率合成器设计和仿真工具。
    的头像 发表于 06-26 06:11 4539次阅读
    如何<b class='flag-5'>利用</b>ADIsimPLL对压控振荡器模型<b class='flag-5'>进行</b><b class='flag-5'>建模</b>并仿真

    基于多种模型的云南农作物区域气候分析

    针对日前云南省缺乏农作物种植与气候指标预测模型与建模方法的问题,首先,概述了降水量、温度、空气湿度等主要气候因素的数据分析预测模型的研究现状,分析温度、降雨量、湿度与农业气候资源的综合
    发表于 04-28 14:55 2次下载
    基于多种模型的云南农作物区域<b class='flag-5'>气候</b>分析

    利用HFSS软件进行3D可视化建模

    摘要: HFSS作为高频结构设计的首选工具和行业标准,能从几何结构、材料特性到分析、控制及所有后处理进行全参量化设计。可对于仿真设计相关的工程师来说,利用HFSS软件进行3D可视化建模
    的头像 发表于 05-10 11:14 5411次阅读
    <b class='flag-5'>利用</b>HFSS软件<b class='flag-5'>进行</b>3D可视化<b class='flag-5'>建模</b>

    用MATLAB进行曲面建模

    用MATLAB进行曲面建模方法说明。
    发表于 05-27 09:41 0次下载

    人工气候室的作用及功能

    人工气候室是由托普云农研发供应,它是进行各类生物气候实验的专用仪器,其中能够充分利用自然资源,并在此基础上,综合运用生物科学、信息科学、管理科学和控制科学等相关学科知识,实现人工控制管
    发表于 06-16 14:49 1126次阅读

    如何利用工具模板快速对TSV阵列进行建模

    本文介绍了采用芯和半导体ViaExpert软件进行TSV阵列的建模和仿真分析流程。TSV结构复杂,存在建模繁琐、分析不便等问题。
    的头像 发表于 06-03 09:03 1793次阅读
    如何<b class='flag-5'>利用</b>工具模板快速对TSV阵列<b class='flag-5'>进行</b><b class='flag-5'>建模</b>

    利用CFD建模方法进行PCB热设计

    Icepak是一种热建模的软件工具,可以用于研究电路板中热导率的局部变化。除了计算流体动力学(CFD)功能外,该软件工具还把电路板的走线和过孔情况考虑进去,进而计算整个电路板上的热导率分布。这个特性使得Icepak非常适用于以下研究工作。
    发表于 08-22 14:20 532次阅读

    cad如何进行三维建模

    三维建模是计算机辅助设计(CAD)中的一项重要技术,它可以帮助设计师在计算机上创建和编辑三维模型。本文将介绍如何使用CAD软件进行三维建模,包括建模的基本步骤、
    的头像 发表于 07-09 10:23 730次阅读