结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

这篇具有很好参考价值的文章主要介绍了结构网格自适应(SAMR)——一种高效的多尺度问题解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景与问题

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

网格对于数值模拟十分重要。基于网格的离散是数值计算中最主流的空间离散方式,而网格的类型和质量直接影响计算的精度和效率。一般情况下,网格尺寸越小,数值离散引入的截断误差越小。但除此以外,网格的正交性、斜率,甚至与物理场特征的一致性也都或多或少会影响数值计算的误差。另一方面,网格拓扑也决定了数值计算程序底层数据结构,从而很大程度上决定了计算的效率。例如,根据一般经验,结构化网格计算效率约是非结构化网格的3倍。当然,除了以上因素,网格生成的难易程度也是影响实践中网格选择的重要因素。一些常用的网格形式列举如下:

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

各种网格形式(素材来源于网络)

随着数值模拟精度和效率要求不断提高,对网格生成的效率,以及网格相关计算精度和计算效率方面提出了更多挑战。根据笔者视角来看,最典型问题包括网格生成效率低、多尺度特征捕捉和先进硬件平台适配等问题。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

问题一:网格生成效率低

手动生成高质量网格一直是非常费时费力的工作。美国工业软件公司ENVENIO发布了一份针对仿真行业的调查报告《The CFD Survey》,该调查采访了28个国家的116位仿真从业者,涉及不同规模的公司。调查结果中显示(如下图),不论规模大小,所有的公司都认为在网格生成上花费了太长的时间。一方面,随着计算机算力提升,人力成本相对越来越昂贵。另一方面,数值模拟精度要求越来越高,所需网格数量逐渐增长到超过人工可控的规模。因此,网格生成的自动化、大规模化、并行化是网格技术发展的大势所趋。


结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

仿真行业的调查结果[1]

问题二:多尺度特征捕捉

物理问题天然具有多尺度特性,精确捕捉关键跨尺度的特征对于实现高保真模拟至关重要。以流体力学为例,超声速空气流动中的激波、燃烧反应流中的火焰面、多相流中的两相界面以及几何曲率极大的区域等,都是对应场景中的关键跨尺度特征。因此,为了实现高保真模拟,同时保证计算量在可接受范围,对计算域进行精确而有针对性的网格加密是非常重要的。正如,流体力学模拟中经常对边界层和激波区域进行网格加密,结构力学模拟中经常对应力集中区域和断裂破坏点进行加密。不幸的是,在实际问题模拟中,大多数情况下无法预先判断跨尺度特征出现的区域和时机。在此情况下,必然要求网格具有跟随物理场变化而自适应加密的能力,进而引发网格加密规则等功能性问题,以及并行情况下动态负载均衡等性能问题。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

广泛存在的多尺度流动现象(素材来源于网络)

问题三:先进处理器适配

诚然,计算机计算能力的提升,对数值计算的精度和效率提升具有决定性作用。但随着半导体工业进入后摩尔定律时代,处理器单核心性能提升受限,处理体系架构从单核转向多核,再进一步转向众核。对基于传统网格类型的数值计算程序,特别是非结构网格程序,体系架构的复杂化为其计算效率的发挥设置了诸多障碍。例如,复杂的编程模型要求对传统网格体系下的数据结构和算法进行重新设计,工作量十分繁巨。再如,众核处理器访存带宽提升相对浮点性能提升而言存在严重滞后,使得传统网格下的数值计算程序严重访存受限。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

众核处理器(GPU)日益严峻的“访存墙”[5]

2 SAMR特点和优势

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

SAMR的全称是(block) Structured Adaptive Mesh Refinement (结构网格自适应)[2][3],是基于结构化网格块的自适应加密体系的通称。

提到SAMR就不得不提自适应加密技术。实际上,自适应加密技术AMR(Adaptive Mesh Refinement)与网格类型并没有绑定关系,例如在非结构网格中也可以通过网格重构进行自适应加密。在数值计算实践中,基于笛卡尔网格(直角坐标网格)自适应加密易于生成且可以适应复杂几何,因此这种技术组合十分常见。狭义的AMR通常就是指代笛卡尔网格自适应加密,下文中不再加以区分。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

(笛卡尔)AMR网格示例(素材来源于网络)

SAMR是AMR的一个特例,其主要的特点即加密单元是结构化的网格块。SAMR目前主要采用两种加密结构:第一种是Tree-based树型结构[4],即网格按照空间多叉树递归进行加密(下图左);第二种是Patch-based多层分块结构,即按照多级网格叠加进行加密(下图右)。Tree-based加密数据结构更加优美,一般网格块具有相同的分辨率,因此在算法实现上更加整洁和高效。Patch-based加密区域更加灵活,例如不用受到树形加密规则的约束,以及可以针对加密区域大小使用大小不同的网格块。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

                          Tree-based                                                 Patch-based

 (素材来源于网络)

SAMR网格具有局部结构化特点,同时能够通过高效的自适应能力捕捉多尺度特征。虽然笛卡尔形式网格在精确刻画边界上有一定不足,但是通过浸没边界法等非贴体网络边界模型也可以较好地实现边界条件。实际上,SAMR也完全可以使用曲线网格和贴体边界,只不过处理起来相对复杂一些。正因为SAMR相对其它网格有其独特性,在某些方面有其突出的优势,主要包括以下几个方面。

优势一:网格自动生成

主要采用笛卡尔网格的SAMR技术,网格结构比较简单,天然适合自动生成网格。几何特别复杂或没有水密性(存在空洞或毛刺)情况下,通过一定的处理,使用SAMR技术也能成功生成网格。这一特性,可以让前处理过程中的几何简化和几何清理工作量大大降低,从而进一步降低人力成本。在边界处,通过脱体网格在边界处加密和采用合适的边界模型,也可以得到较好的精度。

优势二:高效自适应加密

主要采用笛卡尔网格的SAMR,网格可以非常集约地集中在需要加密的位置,且自适应加密或粗化非常直接和便于实施。相对于传统结构化网格,可以更高效地利用网格,而不必按维度进行加密。相对于非结构网格,SAMR在保持局部结构化优势前提下,利用非常直接的等分和合并规则快速地实现网格重构,比非结构网格局部重构更为高效。

优势三:更高的计算效率

由于SAMR具有局部结构化特征,因此可以在适应复杂几何前提下,保证局部能够达到传统结构化网格的计算效率。更进一步,采用笛卡尔网格的SAMR,相对一般曲线结构网格,可以大大节约几何描述数据,对于缓解众核处理器内存带宽瓶颈十分有利。再次,SAMR可以在不影响数值计算精度的条件下,通过调整网格块分辨率,适应包括众核处理器在内的不同平台硬件配置(如缓存行长度、缓存大小等),以充分发挥硬件性能。在SAMR体系下,算法经过特殊设计也可以提升计算效率,例如在不同的加密层级采用不同的时间推进尺度,从而大大节约计算量。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

SAMR适配神威·太湖之光处理器架构体系

3 我们的SAMR框架

神工坊团队发展了一套三维SAMR框架。该框架是一个基于octree[4]的多层分块(block)网格框架软件,并在此基础之上构建了多层分块数据容器。SAMR框架封装了八叉树多层分块网格的复杂算法和并行细节,只暴露简单的功能接口,基于这些接口可快速构建求解器。SAMR框架的主要功能与特性主要包括:复杂几何网格生成、网格自适应加密、动态逐层负载均衡、多层分块数据容器、迭代器与从核迭代器。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案SAMR框架网格切面示意图

功能特性一:网格自动生成

根据输入的几何模型(目前支持STL格式)文件,本框架可自动生成octree-block网格块。在此基础之上,根据octree-block网格块自动生成block内部网格。根据所采用的边界模型,可以选择性地对网格进行体素化,即对网格单元相对封闭几何表面的内外关系进行标记(对于非封闭几何(如平板),或者采用浸没边界条件,体素化过程并不是必须的)。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

 STL几何模型

功能特性二:网格自适应

通过选取计算域物理场某个特征量作为加密依据,SAMR框架可以自动根据加密依据加密或粗化网格。例如在流动模拟中,选取速度梯度作为加密依据,速度梯度大则代表流场变化剧烈,通过加密该区域可以更精确解析流场。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

跟随特征的网格自适应示意图

功能特性三:动态逐层负载均衡

自适应网格的计算负载必然是动态变化的,而SAMR体系上多采用多时间尺度推进算法,因此动态逐层负载均衡是保证效率必备的功能。区别于一般负载均衡策略,逐层特指各加密层级必须都是负载均衡的。下图中,左图呈现的是非逐层的负载均衡,右图呈现的是逐层负载均衡。本框架针对负载均衡功能,采用了优化的任务分割策略和数据传输策略,实现了高效的动态负载均衡。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

一般负载均衡与逐层负载均衡策略的差异

功能特性四:友好开发接口

SAMR框架通过容器化封装,将网格、场和计算域等数据对象进行了容器化实现,屏蔽了底层复杂的众核并行与MPI分布式并行相关数据结构和算法。用户通过使用容器和容器提供的函数式编程接口(函数指针+迭代器),可以在SAMR框架上快速开发所需的物理模型或求解算法。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

算子定义示意图

功能特性五:众核加速

众核是当前高性能处理器普遍采用的架构体系,SAMR框架设计充分考虑了众核二级并行加速需求。目前,SAMR框架在典型应用测试中,基于国产神威·太湖之光超级计算机,实现了核心热点的20倍左右众核加速。未来,SAMR框架将考虑兼容GPU(CUDA)等其它平台。

4 一个应用例子

为了充分验证当前框架的功能特性,我们选取了潜艇标模suboff绕流算例进行验证。该算例主要采用格子Boltzmann方法(LBM),基本调用了框架所有主要功能。

算例网格量为2亿,并行规模为2000进程,LBM求解器,Re为40000。网格最大层数 为8,自适应间隔 50。2亿网格在2000进程下的自动生成过程仅不到十分钟,初始网格如图,图中显示为网格块(每个网格块为10*10*10的网格)。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

初始网格块

模拟结果如下图所示。可以看到suboff周围以及尾迹区被有效加密,若使用均匀网格,要达到同等的计算精度,网格量将达到百亿级别。目前SAMR框架的功能基本实现,下一步将进行功能完善和性能优化工作。

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案

suboff流场局部

参考文献

[1] https://zhuanlan.zhihu.com/p/47164365 

[2] Dubey A , Almgren A , Bell J , et al. Asurvey of high level frameworks in block-structured adaptive mesh refinementpackages[J]. Journal of Parallel & Distributed Computing, 2014,74(12):3217-3227.

[3] Schornbaum F , U Rüde. Extreme-ScaleBlock-Structured Adaptive Mesh Refinement[J]. SIAM Journal on ScientificComputing, 2017, 40(3). 

[4] Burstedde C , Wilcox L C , Ghattas O .p4est : Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests ofOctrees[J]. Siam Journal on Scientific Computing, 2011, 33(3):1103-1133.

[5] https://medium.com/riselab/ai-and-memory-wall-2cb4265cb0b8

结构网格自适应(SAMR)——一种高效的多尺度问题解决方案文章来源地址https://www.toymoban.com/news/detail-442702.html

了解更多干货,欢迎关注神工坊!

到了这里,关于结构网格自适应(SAMR)——一种高效的多尺度问题解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 带头双向循环链表:一种高效的数据结构

    💓 博客主页:江池俊的博客 ⏩ 收录专栏:数据结构探索 👉专栏推荐:✅cpolar ✅C语言进阶之路 💻代码仓库:江池俊的代码仓库 🔥编译环境: Visual Studio 2022 🎉欢迎大家点赞👍评论📝收藏⭐ 双向循环链表是一种复杂的数据结构,它结合了双向链表和循环链表的优点。与

    2024年02月05日
    浏览(53)
  • 论文阅读笔记 — 第2篇 — 一种基于Epsilon支配的多目标优化问题档案导向均衡优化器

    同上一篇笔记。 论文阅读笔记 — 第1篇 — 一种具有全局优化策略的增强MSIQDE算法-CSDN博客 这一篇论文同样也属于群智能优化领域,主要研究其Abstarct和introduction以及论文结构,具体算法细节不深入探讨(群智能优化算法总体思路大都差不多)。如有兴趣或者需要用到该算法

    2024年01月22日
    浏览(49)
  • 一文理解深度学习中的多尺度和不同感受野(视野)信息

    如何理解深度学习中的多尺度和不同视野信息 在进行图像处理的深度模型中,合理理解并利用不同尺度信息和不同视野信息将对图像结果有意想不到的结果,那么具体什么是多尺度信息,什么是不同视野信息 1.不同尺度信息 多尺度是指不同尺度的信号采样,在不同尺度下可

    2024年02月16日
    浏览(49)
  • Mip-NeRF:抗混叠的多尺度神经辐射场ICCV2021

    数据采集时,如果采样频率不满足奈奎斯特采样定理,可能会导致采样后的信号存在混叠。 当采样频率设置不合理时,即采样频率低于2倍的信号频率时,会导致原本的高频信号被采样成低频信号。如下图所示,红色信号是原始的高频信号,但是由于采样频率不满足采样定理

    2024年02月07日
    浏览(45)
  • 162基于matlab的多尺度和谱峭度算法对振动信号进行降噪处理

    基于matlab的多尺度和谱峭度算法对振动信号进行降噪处理,选择信号峭度最大的频段进行滤波,输出多尺度谱峭度及降噪结果。程序已调通,可直接运行。 162 matlab 信号处理 多尺度谱峭度 (xiaohongshu.com)

    2024年02月19日
    浏览(50)
  • CoFSM基于共现尺度空间的多模态遥感图像匹配方法--论文阅读记录

    目录 论文 Multi-Modal Remote Sensing Image Matching Considering Co-Occurrence Filter 参考论文:SIFT系列论文, SIFT    Distinctive Image Features from Scale-Invariant Keypoints,作者:David G. Lowe 快速样本共识算法FSC:A Novel Point-Matching Algorithm Based on Fast Sample Consensus for Image Registration ,Digital Object Ident

    2024年04月24日
    浏览(105)
  • 基于数据驱动的多尺度表示的信号去噪统计方法研究(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 文献来

    2024年02月15日
    浏览(43)
  • YOLOV8改进:顶刊TIP 2023 | CFP:即插即用的多尺度融合模块,有效涨点!

      特征金字塔网络现代识别系统中的一种基础网络结构,可有效地用于检测不同尺度的物体。 SSD  是最早使用特征金字塔结构表示多尺度特征信息的方法之一, FPN  则依赖于自下而上的特征金字塔结构,通过建立自上而下的路径和横向连接从多尺度高级语义特征图中获取特

    2024年02月09日
    浏览(85)
  • YOLOV5改进:顶刊TIP 2023 | CFP:即插即用的多尺度融合模块,有效涨点!

    特征金字塔网络现代识别系统中的一种基础网络结构,可有效地用于检测不同尺度的物体。 SSD  是最早使用特征金字塔结构表示多尺度特征信息的方法之一, FPN  则依赖于自下而上的特征金字塔结构,通过建立自上而下的路径和横向连接从多尺度高级语义特征图中获取特征

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包