适用于MASNUM海浪模式的混合精度实现方法及系统技术方案

技术编号:39009508 阅读:15 留言:0更新日期:2023-10-07 10:40
本发明专利技术公开了一种适用于MASNUM海浪模式的混合精度实现方法及系统,涉及海洋科学并行计算应用技术领域,该方法包括:将海浪模型划分为多个运算模块,获取每个模块的运行时间并以此进行排序,对排序后的每一模块进行降精度;将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;对筛选出的模块进行排序后再进行组合验证,确定符合组合验证条件的降精度运算模块,形成混合精度版海浪模型。本发明专利技术推进混合精度方法在海浪模式的应用,保证结果的准确性且降低计算量和内存占用。证结果的准确性且降低计算量和内存占用。证结果的准确性且降低计算量和内存占用。

【技术实现步骤摘要】
适用于MASNUM海浪模式的混合精度实现方法及系统


[0001]本专利技术属于海洋科学并行计算应用
,尤其涉及一种适用于MASNUM海浪模式的混合精度实现方法及系统。

技术介绍

[0002]MASNUM(marine science and numerical modeling, 海洋科学与数值模拟)海浪模式是目前研究中最新的海浪数值模式,通过特征线求解波数谱平衡方程,并考虑风输入、波浪破碎耗散、底摩擦耗散、波波非线性相互作用和波流相互租用等源函数,模拟波数空间下的海浪方向谱,获得海浪的波高、周期和波向等要素。该模式已广泛应用于海洋防灾减灾、海上交通运输、军事活动保障等方面的海浪预报中,通过利用MASNUM海浪模式模拟计算海浪,构建海浪模型,满足海洋预报和气候预测等的计算需求。而随着MASNUM海浪模型分辨率的提高以及模式复杂度的提高,计算需求因此迅速扩充,为了提升模型运算速度,节省计算量成为必然选择。
[0003]混合精度方法是在数值计算中采用双精、单精或者半精等不同精度组合的算法来降低数值计算成本的方法。研究混合精度的动机在于实现在计算体系结构的不同元素之间进行更快的处理和通信的潜力,从而可以将获得的计算速度换成增加的模拟复杂性,以此获得更准确的预测。
[0004]混合精度方法在海洋领域具有良好的应用前景,随着计算机CPU主频逐渐提升,大部分硬件系统的计算能力都远远超过其对应的存储器能力,因而大规模的数据给内存和I/O(Input/Output, 输入/输出)带宽带来了更大的压力,混合精度方法可以减少计算量,节省内存和带宽压力,从而提升模式性能。
[0005]然而,目前混合精度方法还处于研究的起步阶段,特别是像地球科学、海洋科学这种对高精度比较依赖的应用领域,多半采用一刀切的方法对变量进行降精操作,因为缺乏系统性的评估,目前的混合精度方法很难保证结果的准确性。如何在海洋领域数值模式这种复杂且相互关联的多变量计算中选择适当精度且能够保证模拟结果准确,成为制约混合精度方法在海洋科学中应用的关键问题。

技术实现思路

[0006]为解决上述现有技术的不足,本专利技术提供了一种适用于MASNUM海浪模式的混合精度实现方法及系统,解决MASNUM海浪模式中各运算模块的精度选择问题,同时又保证模拟结果的准确性,以此推进混合精度方法在海浪模式的应用,实现在保证结果准确性的前提下节省计算量和内存,提高运算效率。
[0007]第一方面,本公开提供了一种适用于MASNUM海浪模式的混合精度实现方法。
[0008]一种适用于MASNUM海浪模式的混合精度实现方法,包括:根据海浪模型中各模块的运行先后和物理特征,将海浪模型划分为多个运算模块;
获取每个运算模块的运行时间,根据运行时间进行运算模块排序,并对排序后的每一运算模块进行模块降精度,得到降精度运算模块;将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;根据记录的模型运行时间,对筛选出的降精度运算模块进行排序;对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块;将确定的所有降精度运算模块进行对应替换,形成混合精度版海浪模型。
[0009]第二方面,本公开提供了一种适用于MASNUM海浪模式的混合精度实现系统。
[0010]一种适用于MASNUM海浪模式的混合精度实现系统,包括:海浪模型模块划分模块,用于根据海浪模型中各模块的运行先后和物理特征,将海浪模型划分为多个运算模块;降精度模块,用于获取每个运算模块的运行时间,根据运行时间进行运算模块排序,并对排序后的每一运算模块进行模块降精度,得到降精度运算模块;降精度模块验证模块,用于将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;组合验证模块,用于根据记录的模型运行时间,对筛选出的降精度运算模块进行排序;对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块;混合精度版海浪模型构建模块,用于将确定的所有降精度运算模块进行对应替换,形成混合精度版海浪模型。
[0011]以上一个或多个技术方案存在以下有益效果:1、本专利技术提供了一种适用于MASNUM海浪模式的混合精度实现方法及系统,从MASNUM海浪模式的运算模块出发,对运算模块进行降精度操作,在降精度操作的基础上评估模型模拟结果的正确性,从而形成混合精度版本的MASNUM海浪模式,推进混合精度方法在海浪模式的应用,实现在保证结果准确性的前提下节省计算量和内存,提高运算效率,并提升了模式性能。
[0012]2、本专利技术所得到的混合精度版本的MASNUM海浪模式在大规模运行时,可以节省内存和带宽压力,提升模式性能。
附图说明
[0013]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0014]图1为本专利技术实施例所述适用于MASNUM海浪模式的混合精度实现方法的流程图;图2为本专利技术实施例中运算模块代码插桩计时的示意图;图3为本专利技术实施例中双精度运算模块转单精度运算模块的示意图;图4为本专利技术实施例中组合验证的流程图。
具体实施方式
[0015]应该指出,以下详细说明都是示例性的,仅是为了描述具体实施方式,旨在对本专利技术提供进一步的说明,并非意图限制根据本专利技术的示例性实施方式。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0016]实施例一本实施例提供了一种适用于MASNUM海浪模式的混合精度实现方法,包括以下步骤:根据海浪模型中各模块的运行先后和物理特征,将海浪模型划分为多个运算模块;获取每个运算模块的运行时间,根据运行时间进行运算模块排序,并对排序后的每一运算模块进行模块降精度,得到降精度运算模块;将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;根据记录的模型运行时间,对筛选出的降精度运算模块进行排序;对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块;将确定的所有降精度运算模块进行对应替换,形成混合精度版海浪模型。
[0017]通过下述内容对本实施例所提出的适用于MASNUM海浪模式的混合精度实现方法进行更详细的介绍。
...

【技术保护点】

【技术特征摘要】
1.一种适用于MASNUM海浪模式的混合精度实现方法,其特征是,包括:根据海浪模型中各模块的运行先后和物理特征,将海浪模型划分为多个运算模块;获取每个运算模块的运行时间,根据运行时间进行运算模块排序,并对排序后的每一运算模块进行模块降精度,得到降精度运算模块;将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;根据记录的模型运行时间,对筛选出的降精度运算模块进行排序;对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块;将确定的所有降精度运算模块进行对应替换,形成混合精度版海浪模型。2.如权利要求1所述的适用于MASNUM海浪模式的混合精度实现方法,其特征是,所述根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块,包括:根据每一降精度运算模块替换后的模型运行时间S
ti
与替换前的模型运行时间t
i
,以及替换前后的模型区域平均有效波高相对误差进行对比验证,若模型区域平均有效波高相对误差在0.5%范围内,且S
ti
<t
i
,则降精度运算模块验证通过;若模型区域平均有效波高相对误差大于0.5%或S
ti
>t
i
,则降精度运算模块验证不通过;其中,i=1,2,...,n,表示第i个运算模块,n表示划分的运算模块的个数。3.如权利要求1所述的适用于MASNUM海浪模式的混合精度实现方法,其特征是,所述根据记录的模型运行时间,对筛选出的降精度运算模块进行排序,包括:所述记录的模型运行时间为降精度运算模块替换后的模型运行时间,根据每一降精度运算模块替换后的模型运行时间,结合替换前的模型运行时间,计算两者之间的差值,得到加速时间;根据加速时间的长短对筛选出的降精度运算模块进行由多到少的排序。4.如权利要求1所述的适用于MASNUM海浪模式的混合精度实现方法,其特征是,所述组合验证包括:针对筛选出的所有r个降精度运算模块RS1~RS
r
,从q=0开始迭代,依次从r个降精度运算模块RS1~RS
r
中剔除q个模块,确定用于替换的r

q个降精度运算模块,将r

q个降精度运算模块对应替换海浪模型中原本的运算模块,运行海浪模型,根据替换前后的模型区域平均有效波高相对误差进行对比验证;通过不断迭代对比验证,直至验证通过,得到混合精度版海浪模型;其中,验证通过是指模型区域平均有效波高相对误差在0.5%范围内。5.如权利要求4所述的适用于MASNUM海浪模式的混合精度实现方法,其特征是,迭代过程中,从r个降精度运算模块RS1~RS
r
中剔除q个模块的剔除规律为:按照q个模块对应的加速时间之和由少到多的顺序,依次从r个降精度运算模块中剔除q个模块。6.一种适用于MASNUM海浪模式的混合精度实现系统,其特征是,包括:海...

【专利技术属性】
技术研发人员:张洁刘鑫韩琦琦官淑慧张展硕杨明吴晓明郭莹王继彬
申请(专利权)人:山东省计算中心国家超级计算济南中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1