适用于MASNUM海浪模式的混合精度实现方法及系统与流程
未命名
10-08
阅读:205
评论:0
适用于masnum海浪模式的混合精度实现方法及系统
技术领域
1.本发明属于海洋科学并行计算应用技术领域,尤其涉及一种适用于masnum海浪模式的混合精度实现方法及系统。
背景技术:
2.masnum(marine science and numerical modeling, 海洋科学与数值模拟)海浪模式是目前研究中最新的海浪数值模式,通过特征线求解波数谱平衡方程,并考虑风输入、波浪破碎耗散、底摩擦耗散、波波非线性相互作用和波流相互租用等源函数,模拟波数空间下的海浪方向谱,获得海浪的波高、周期和波向等要素。该模式已广泛应用于海洋防灾减灾、海上交通运输、军事活动保障等方面的海浪预报中,通过利用masnum海浪模式模拟计算海浪,构建海浪模型,满足海洋预报和气候预测等的计算需求。而随着masnum海浪模型分辨率的提高以及模式复杂度的提高,计算需求因此迅速扩充,为了提升模型运算速度,节省计算量成为必然选择。
3.混合精度方法是在数值计算中采用双精、单精或者半精等不同精度组合的算法来降低数值计算成本的方法。研究混合精度的动机在于实现在计算体系结构的不同元素之间进行更快的处理和通信的潜力,从而可以将获得的计算速度换成增加的模拟复杂性,以此获得更准确的预测。
4.混合精度方法在海洋领域具有良好的应用前景,随着计算机cpu主频逐渐提升,大部分硬件系统的计算能力都远远超过其对应的存储器能力,因而大规模的数据给内存和i/o(input/output, 输入/输出)带宽带来了更大的压力,混合精度方法可以减少计算量,节省内存和带宽压力,从而提升模式性能。
5.然而,目前混合精度方法还处于研究的起步阶段,特别是像地球科学、海洋科学这种对高精度比较依赖的应用领域,多半采用一刀切的方法对变量进行降精操作,因为缺乏系统性的评估,目前的混合精度方法很难保证结果的准确性。如何在海洋领域数值模式这种复杂且相互关联的多变量计算中选择适当精度且能够保证模拟结果准确,成为制约混合精度方法在海洋科学中应用的关键问题。
技术实现要素:
6.为解决上述现有技术的不足,本发明提供了一种适用于masnum海浪模式的混合精度实现方法及系统,解决masnum海浪模式中各运算模块的精度选择问题,同时又保证模拟结果的准确性,以此推进混合精度方法在海浪模式的应用,实现在保证结果准确性的前提下节省计算量和内存,提高运算效率。
7.第一方面,本公开提供了一种适用于masnum海浪模式的混合精度实现方法。
8.一种适用于masnum海浪模式的混合精度实现方法,包括:根据海浪模型中各模块的运行先后和物理特征,将海浪模型划分为多个运算模块;
获取每个运算模块的运行时间,根据运行时间进行运算模块排序,并对排序后的每一运算模块进行模块降精度,得到降精度运算模块;将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;根据记录的模型运行时间,对筛选出的降精度运算模块进行排序;对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块;将确定的所有降精度运算模块进行对应替换,形成混合精度版海浪模型。
9.第二方面,本公开提供了一种适用于masnum海浪模式的混合精度实现系统。
10.一种适用于masnum海浪模式的混合精度实现系统,包括:海浪模型模块划分模块,用于根据海浪模型中各模块的运行先后和物理特征,将海浪模型划分为多个运算模块;降精度模块,用于获取每个运算模块的运行时间,根据运行时间进行运算模块排序,并对排序后的每一运算模块进行模块降精度,得到降精度运算模块;降精度模块验证模块,用于将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;组合验证模块,用于根据记录的模型运行时间,对筛选出的降精度运算模块进行排序;对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块;混合精度版海浪模型构建模块,用于将确定的所有降精度运算模块进行对应替换,形成混合精度版海浪模型。
11.以上一个或多个技术方案存在以下有益效果:1、本发明提供了一种适用于masnum海浪模式的混合精度实现方法及系统,从masnum海浪模式的运算模块出发,对运算模块进行降精度操作,在降精度操作的基础上评估模型模拟结果的正确性,从而形成混合精度版本的masnum海浪模式,推进混合精度方法在海浪模式的应用,实现在保证结果准确性的前提下节省计算量和内存,提高运算效率,并提升了模式性能。
12.2、本发明所得到的混合精度版本的masnum海浪模式在大规模运行时,可以节省内存和带宽压力,提升模式性能。
附图说明
13.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
14.图1为本发明实施例所述适用于masnum海浪模式的混合精度实现方法的流程图;图2为本发明实施例中运算模块代码插桩计时的示意图;图3为本发明实施例中双精度运算模块转单精度运算模块的示意图;图4为本发明实施例中组合验证的流程图。
具体实施方式
15.应该指出,以下详细说明都是示例性的,仅是为了描述具体实施方式,旨在对本发明提供进一步的说明,并非意图限制根据本发明的示例性实施方式。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
16.实施例一本实施例提供了一种适用于masnum海浪模式的混合精度实现方法,包括以下步骤:根据海浪模型中各模块的运行先后和物理特征,将海浪模型划分为多个运算模块;获取每个运算模块的运行时间,根据运行时间进行运算模块排序,并对排序后的每一运算模块进行模块降精度,得到降精度运算模块;将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;根据记录的模型运行时间,对筛选出的降精度运算模块进行排序;对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块;将确定的所有降精度运算模块进行对应替换,形成混合精度版海浪模型。
17.通过下述内容对本实施例所提出的适用于masnum海浪模式的混合精度实现方法进行更详细的介绍。
18.步骤s1、对masnum海浪模型进行运算模块的划分。
19.采用masnum海浪模式模拟计算海浪,构建masnum海浪模型,以此实现海洋预报和气候预测等。为了进一步提高计算效率、节省计算量,将混合精度方法应用到该masnum海浪模型中,如图1所示,首先根据海浪模型中各模块的运行先后及其物理特征,将海浪模型划分为多个运算模块,其中,海浪模型中各模块的物理特征是指各模块所计算的变量这一区别。例如,按照海浪模型中各模块的运行先后顺序,依次划分为get_wind模块、propagat模块、implsch模块、mean1模块、outwave模块,其中,针对implsch模块,根据该模块所计算的变量的不同,再将该模块划分为mean2模块、input模块、sdi模块、bottom模块、nolinear模块、current模块、setspec模块等。上述各模块的具体含义为:get_wind模块指获取风输入变量的模块,propagat模块为求解波浪的传播方程模块,implsch模块为求解波浪源函数引起的局地变化的模块,mean1模块为求解波浪特征量的模块,outwave模块为海浪模型的数据输出模块,mean2模块为计算波谱阶矩模块,input模块为计算风输入源函数模块,sdi模块为计算破碎源函数模块,bottom模块为计算底摩擦源函数模块,nolinear模块为计算非线性波相互作用源函数模块,current模块为计算波流相互作用源函数模块,setspec模块为边界约束模块。
20.通过上述划分方式,将海浪模型划分为多个运算模块,并记为m1、m2、m3……mn
,n表示划分的运算模块的个数。
21.步骤s2、masnum海浪模型运算模块计时。
22.获取每个运算模块的运行时间,具体的,在各运算模块(下述简称模块)的运行代码前后插桩计时函数get_clock,用于获得运算模块运行所需的系统时间。如图2所示,采用计时函数进行计时,其中,start_time表示计时模块运行前的系统时间,end_time表示计时模块运行结束后的系统时间,其差值time即为计时模块的运行时间,计时完成后结束该子程序(subroutine)。在本实施例中,m1运算模块运行时间记为t1,m2运算模块运行时间记为t2,
……mn
运算模块的运行时间记为tn。
23.步骤s3、根据每个运算模块的运行时间,对多个运算模块进行排序。
24.通过步骤s2计时,按照运行时间,将t1至tn按照由大到小的顺序进行排列,记为t1至tn,运行时间所对应的运算模块m1至mn按照对应顺序进行排列,记为m1至mn,完成运算模块的排序。此时,获取按照运行时间有大到小排序的运算模块序列,为m1、m2、m3……mn
,其所对应的运行时间序列为t1、t2、t3……
tn,且这些运算模块为海浪模型原本的运算模块,其精度均为双精度。
25.步骤s4、对排序后的每一运算模块进行模块降精度,得到降精度运算模块。
26.根据运行时间长短,依据m1至mn的顺序对每一运算模块进行降精度。降精度方法如图3所示,subroutine表示子程序,待降精度的运算模块为model(c_double),subroutine model(c_double)表示运算模块子程序,待降精度的运算模块model(c_double)中,c_double为模块的输入变量和输出变量,其精度为双精度,a_double、b_double为运算模块内部自定义变量,其精度均为双精度。降精度时,将内部自定义变量定义为单精度变量a_single、b_single,将输入双精度变量c_double截断为单精度变量c_single,变量c_single由变量a_single和b_single计算更新,再补充回双精度变量c_double输出,即输出双精度变量c_double。
27.通过上述降精度方法,将运算模块m1至mn进行降精度,并记为降精度运算模块s1至sn,即单精度运算模块s1至sn。
28.步骤s5、对降精度运算模块进行验证。
29.将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块。
30.具体的,按照时间顺序,将降精度模块依次逐个对应替换海浪模型中原本的双精度模块。如针对排序顺序中第一个运算模块m1,将运算模块m1用其对应的单精度版本运算模块s1替换,并运行海浪模型,模型运行时间记为s
t1
,同时获取降精度版本的海浪模型(即替换后的海浪模型)预测输出结果中的波浪有效波高h1(即模型预测有效波高),将该模型运行时间s
t1
与双精度海浪模型(即采用原本的运算模块的海浪模型)的模型运行时间t1,以及模型预测有效波高h1与双精度海浪模型的模型预测有效波高h2进行对比验证。具体的,首先计算降精度海浪模型和双精度海浪模型的有效波高相对误差,公式为:其中,有效波高(significant wave height)是指按一定规则统计的波高值,为海浪模型输出结果,可以直接从模型输出的预测结果中提取获得。
31.其次,基于海浪模型计算区域(该区域个数已知)的多个有效波高相对误差进行区
域平均计算,计算得到模型区域平均有效波高相对误差,根据模型区域平均有效波高相对误差和模型运行时间进行对比验证:若模型区域平均有效波高相对误差在0.5%范围内,且s
t1
<t1,则验证通过,反之,若模型区域平均有效波高相对误差大于0.5%或运行时间增加,即s
t1
>t1,则验证不通过。
32.将运算模块m1至mn按照顺序逐个分别替换为s1至sn进行以上验证,筛选出r个降精度运算模块。
33.步骤s6、根据记录的模型运行时间,对筛选出的降精度运算模块进行排序。
34.记录的模型运行时间s
t1
、s
t2
、s
t3
……stn
,根据步骤s5的验证条件筛选出r个降精度运算模块,针对这r个模块,按照加速时间的长短进行由多到少的排序,即按照模块替换前后海浪模型的模型运行时间的差值,进行由多到少的排序,记为模块rs1至rsr。
35.步骤s7、对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块。
36.将验证通过的所有单精度运算模块(即降精度运算模块)替换接入原有海浪模型,形成混合精度版海浪模型,替换接入的过程需要进行组合验证,该组合验证包括:针对筛选出的所有r个降精度运算模块rs1~rsr,从q=0(q[0,r-1])开始迭代,依次从r个降精度运算模块rs1~rsr中剔除q个模块,确定用于替换的r-q个降精度运算模块,将r-q个降精度运算模块对应替换海浪模型中原本的运算模块,根据替换前后的模型区域平均有效波高相对误差进行对比验证;通过不断迭代对比验证,直至验证通过,得到混合精度版海浪模型。其中,该验证通过是指区域平均有效波高相对误差在0.5%范围内。
[0037]
上述迭代过程中,从r个降精度运算模块rs1~rsr中剔除q个模块的剔除规律为:按照q个模块对应的加速时间之和由少到多的顺序,依次从r个降精度运算模块中剔除q个模块。
[0038]
如图4所示,组合验证的步骤和规则如下:步骤s7.1、将筛选出的所有r个降精度运算模块rs1~rsr对应替换海浪模型中原本的运算模块,根据替换前后的模型区域平均有效波高相对误差进行对比验证,若模型区域平均有效波高相对误差在0.5%范围内,则验证通过,形成混合精度版海浪模型,若模型区域平均有效波高相对误差大于0.5%,则验证不通过,进行步骤s7.2。
[0039]
步骤s7.2、将筛选出的降精度运算模块rs1~rsr中的r-1个模块对应替换海浪模型中原本的运算模块,根据替换前后的模型区域平均有效波高相对误差进行对比验证。其中,用于替换的r-1个降精度运算模块按照加速时间由少到多的顺序,依次从r个降精度运算模块中剔除来确定,通过不断迭代对比验证,迭代验证过程中验证通过,则得到混合精度版本模型,反之,则验证不通过,进行步骤s7.3。
[0040]
具体的,按照加速时间的长短,先将加速时间排序前r-1的降精度运算模块rs1至rs
r-1
对应替换海浪模型中原本的运算模块,根据替换前后的模型区域平均有效波高相对误差进行对比验证,若模型区域平均有效波高相对误差在0.5%范围内,表示验证通过,形成混合精度版本模型,反之,若模型区域平均有效波高相对误差大于0.5%,则验证不通过,将r-1个模块组合更改为加速时间排序前r-2的降精度运算模块rs1至rs
r-2
以及第r个模块rsr,重新进行验证。若验证通过,形成混合精度版本模型,反之,验证不通过,则将r-1个模块组合
改rs1至rs
r-3
、rs
r-1
、rsr。即按照加速时间由少到多的顺序,依次从r个降精度运算模块中剔除1个模块,确定用于替换的r-1个降精度运算模块,通过不断迭代对比验证,直至验证通过。若r-1个模块验证不通过,则进行步骤s7.3,即进行r-2个单精度模块的验证。
[0041]
步骤s7.3、将筛选出的降精度运算模块rs1~rsr中的r-2个模块对应替换海浪模型中原本的运算模块,根据替换前后的模型区域平均有效波高相对误差进行对比验证。其中,用于替换的r-2个降精度运算模块按照加速时间由少到多的顺序,依次从r个降精度运算模块中剔除来确定,通过不断迭代对比验证,迭代验证过程中验证通过,则得到混合精度版本模型,反之,则验证不通过,进行r-3个单精度模块的验证。
[0042]
具体的,按照加速时间的长短,先将加速时间排序前r-2的降精度运算模块rs1至rs
r-2
对应替换海浪模型中原本的运算模块,根据替换前后的模型区域平均有效波高相对误差进行对比验证,若模型区域平均有效波高相对误差在0.5%范围内,表示验证通过,形成混合精度版本模型,反之,若模型区域平均有效波高相对误差大于0.5%,则验证不通过,将r-2个模块组合更改为加速时间排序前r-3的降精度运算模块rs1至rs
r-3
以及第r个模块rsr,重新进行验证。若验证通过,形成混合精度版本模型,反之,验证不通过,则重新进行验证,2个单精度模块的剔除规律按照两个模块对应的加速时间之和由少到多的顺序,依次从r个降精度运算模块中剔除2个模块,确定用于替换的r-2个降精度运算模块,通过不断迭代对比验证,直至验证通过。若r-2个模块验证不通过,则进行r-3个单精度模块的验证。以此类推,直至验证通过,构成混合精度版海浪模型。
[0043]
通过本实施例上述方法,将混合精度方法应用在masnum海浪模式中,得到混合精度版海浪模型,该海浪模型的计算量少,且应用该模型模拟的结果准确,实现在保证结果准确性的前提下,节省计算量和内存,提高运算效率,改善了masnum海浪模式的性能。
[0044]
实施例二本实施例提供了一种适用于masnum海浪模式的混合精度实现系统,包括:海浪模型模块划分模块,用于根据海浪模型中各模块的运行先后和物理特征,将海浪模型划分为多个运算模块;降精度模块,用于获取每个运算模块的运行时间,根据运行时间进行运算模块排序,并对排序后的每一运算模块进行模块降精度,得到降精度运算模块;降精度模块验证模块,用于将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;组合验证模块,用于根据记录的模型运行时间,对筛选出的降精度运算模块进行排序;对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块;混合精度版海浪模型构建模块,用于将确定的所有降精度运算模块进行对应替换,形成混合精度版海浪模型。
[0045]
以上实施例二中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。
[0046]
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装
置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
[0047]
以上所述仅为本发明的优选实施例,虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
技术特征:
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海浪模式的混合精度实现系统,其特征是,包括:海浪模型模块划分模块,用于根据海浪模型中各模块的运行先后和物理特征,将海浪模型划分为多个运算模块;降精度模块,用于获取每个运算模块的运行时间,根据运行时间进行运算模块排序,并
对排序后的每一运算模块进行模块降精度,得到降精度运算模块;降精度模块验证模块,用于将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,并运行海浪模型,记录模型运行时间,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;组合验证模块,用于根据记录的模型运行时间,对筛选出的降精度运算模块进行排序;对筛选且排序后的降精度运算模块进行组合验证,确定符合组合验证条件的降精度运算模块;混合精度版海浪模型构建模块,用于将确定的所有降精度运算模块进行对应替换,形成混合精度版海浪模型。7.如权利要求6所述的适用于masnum海浪模式的混合精度实现系统,其特征是,所述根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块,包括:根据每一降精度运算模块替换后的模型运行时间s
ti
与替换前的模型运行时间t
i
,以及替换前后的模型区域平均有效波高相对误差进行对比验证,若模型区域平均有效波高相对误差在0.5%范围内,且s
ti
<t
i
,则降精度运算模块验证通过;若模型区域平均有效波高相对误差大于0.5%或s
ti
>t
i
,则降精度运算模块验证不通过;其中,i=1,2,...,n,表示第i个运算模块,n表示划分的运算模块的个数。8.如权利要求6所述的适用于masnum海浪模式的混合精度实现系统,其特征是,所述根据记录的模型运行时间,对筛选出的降精度运算模块进行排序,包括:所述记录的模型运行时间为降精度运算模块替换后的模型运行时间,根据每一降精度运算模块替换后的模型运行时间,结合替换前的模型运行时间,计算两者之间的差值,得到加速时间;根据加速时间的长短对筛选出的降精度运算模块进行由多到少的排序。9.如权利要求6所述的适用于masnum海浪模式的混合精度实现系统,其特征是,所述组合验证包括:针对筛选出的所有r个降精度运算模块rs1~rs
r
,从q=0开始迭代,依次从r个降精度运算模块rs1~rs
r
中剔除q个模块,确定用于替换的r-q个降精度运算模块,将r-q个降精度运算模块对应替换海浪模型中原本的运算模块,运行海浪模型,根据替换前后的模型区域平均有效波高相对误差进行对比验证;通过不断迭代对比验证,直至验证通过,得到混合精度版海浪模型;其中,验证通过是指模型区域平均有效波高相对误差在0.5%范围内。10.如权利要求9所述的适用于masnum海浪模式的混合精度实现系统,其特征是,迭代过程中,从r个降精度运算模块rs1~rs
r
中剔除q个模块的剔除规律为:按照q个模块对应的加速时间之和由少到多的顺序,依次从r个降精度运算模块中剔除q个模块。
技术总结
本发明公开了一种适用于MASNUM海浪模式的混合精度实现方法及系统,涉及海洋科学并行计算应用技术领域,该方法包括:将海浪模型划分为多个运算模块,获取每个模块的运行时间并以此进行排序,对排序后的每一模块进行降精度;将降精度运算模块按排序顺序逐个对应替换海浪模型中原本的运算模块,根据每一降精度运算模块替换前后的模型运行时间和模型区域平均有效波高相对误差进行对比验证,筛选符合验证条件的降精度运算模块;对筛选出的模块进行排序后再进行组合验证,确定符合组合验证条件的降精度运算模块,形成混合精度版海浪模型。本发明推进混合精度方法在海浪模式的应用,保证结果的准确性且降低计算量和内存占用。证结果的准确性且降低计算量和内存占用。证结果的准确性且降低计算量和内存占用。
技术研发人员:张洁 刘鑫 韩琦琦 官淑慧 张展硕 杨明 吴晓明 郭莹 王继彬
受保护的技术使用者:山东省计算中心(国家超级计算济南中心)
技术研发日:2023.08.29
技术公布日:2023/10/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
