本發(fā)明涉及計(jì)算機(jī),尤其涉及一種資料同化方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在海洋數(shù)值模式運(yùn)行過程中,資料同化作為核心環(huán)節(jié),通過整合觀測數(shù)據(jù)修正模擬的狀態(tài)數(shù)據(jù),有效抑制了模擬誤差隨時(shí)間迭代的累積。目前采用的資料同化技術(shù)包括集合卡爾曼濾波(ensemble?kalman?filter,enkf)等方案,其中,enkf融合了集合預(yù)測與卡爾曼濾波技術(shù),雖顯著提高模擬精度,但計(jì)算成本大幅增加。
2、隨著海洋模式向更高精度和分辨率發(fā)展,資料同化的性能逐漸成為制約計(jì)算效率和擴(kuò)展性的瓶頸?,F(xiàn)有資料同化軟件面臨多個(gè)挑戰(zhàn):首先,涉及大規(guī)模的數(shù)據(jù)i/o操作和復(fù)雜的多進(jìn)程通信機(jī)制,導(dǎo)致存儲(chǔ)與傳輸開銷激增,進(jìn)一步增加了系統(tǒng)的負(fù)擔(dān);其次,弱依賴計(jì)算與強(qiáng)依賴計(jì)算的嵌套結(jié)構(gòu)增加了并行化難度;此外,算法代碼結(jié)構(gòu)復(fù)雜,限制了程序的可擴(kuò)展性和執(zhí)行效率,導(dǎo)致了較大的性能浪費(fèi)和較低的執(zhí)行效率。因此,基于國產(chǎn)e級超算系統(tǒng)對資料同化關(guān)鍵算法程序進(jìn)行性能優(yōu)化就顯得尤為必要,旨在解決現(xiàn)有技術(shù)中存在的效率低下問題,并充分利用新型計(jì)算架構(gòu)的優(yōu)勢以提升整體性能表現(xiàn)。然而,當(dāng)前技術(shù)實(shí)現(xiàn)中仍存在顯著的性能浪費(fèi)和低效執(zhí)行的問題,需要進(jìn)一步探索有效的解決方案來克服這些挑戰(zhàn)。最終,如何高效利用資源、減少性能浪費(fèi)成為亟待解決的技術(shù)難題。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述技術(shù)問題,本公開實(shí)施例提供了一種資料同化方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)。
2、第一方面,本公開實(shí)施例提供了一種資料同化方法,包括:
3、計(jì)算多個(gè)進(jìn)程待處理觀測數(shù)據(jù)在當(dāng)前觀測文件中的第一位置信息;
4、通過多個(gè)進(jìn)程根據(jù)第一位置信息并行讀取觀測數(shù)據(jù);
5、確定多個(gè)進(jìn)程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息,當(dāng)前狀態(tài)文件是基于歷史觀測文件得到的狀態(tài)估計(jì)文件;
6、通過多個(gè)進(jìn)程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù);
7、將狀態(tài)數(shù)據(jù)和觀測數(shù)據(jù)進(jìn)行資料同化,更新當(dāng)前狀態(tài)文件。
8、可選的,通過多個(gè)進(jìn)程根據(jù)第一位置信息并行讀取觀測數(shù)據(jù)之后,方法還包括:
9、將讀取到的觀測數(shù)據(jù)存儲(chǔ)到多個(gè)進(jìn)程對應(yīng)的多個(gè)緩沖區(qū)內(nèi),緩沖區(qū)用于對觀測數(shù)據(jù)進(jìn)行讀解析。
10、可選的,通過多個(gè)進(jìn)程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù),包括:
11、在當(dāng)前觀測文件包括的多個(gè)觀測數(shù)據(jù)中,確定多個(gè)進(jìn)程待處理的目標(biāo)觀測數(shù)據(jù);
12、在當(dāng)前狀態(tài)文件包括的多個(gè)狀態(tài)數(shù)據(jù)中,確定和目標(biāo)觀測數(shù)據(jù)對應(yīng)的目標(biāo)狀態(tài)數(shù)據(jù);
13、通過多個(gè)進(jìn)程采用預(yù)設(shè)通信方式,根據(jù)目標(biāo)狀態(tài)數(shù)據(jù)的第二位置信息讀取目標(biāo)狀態(tài)數(shù)據(jù),預(yù)設(shè)通信方式是指多個(gè)進(jìn)程之間直接進(jìn)行數(shù)據(jù)通信的方式。
14、可選的,在當(dāng)前觀測文件包括的多個(gè)觀測數(shù)據(jù)中,確定多個(gè)進(jìn)程待處理的目標(biāo)觀測數(shù)據(jù),包括:
15、根據(jù)預(yù)設(shè)數(shù)量和當(dāng)前觀測文件包括的多個(gè)觀測數(shù)據(jù)的數(shù)量,計(jì)算多個(gè)進(jìn)程的處理輪次,預(yù)設(shè)數(shù)量是基于多個(gè)進(jìn)程的數(shù)量確定的;
16、在多個(gè)觀測數(shù)據(jù)中,確定多個(gè)進(jìn)程在當(dāng)前處理輪次待處理的多個(gè)目標(biāo)觀測數(shù)據(jù)。
17、可選的,在當(dāng)前觀測文件包括的多個(gè)觀測數(shù)據(jù)中,確定多個(gè)進(jìn)程待處理的目標(biāo)觀測數(shù)據(jù),包括:
18、統(tǒng)計(jì)多個(gè)進(jìn)程處理不同觀測數(shù)據(jù)的處理時(shí)間;
19、計(jì)算預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)的處理時(shí)間的和值,其中,和值表征了多個(gè)進(jìn)程在一輪處理完預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)的總時(shí)長;
20、在和值小于時(shí)間閾值的情況下,將預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)確定為目標(biāo)觀測數(shù)據(jù)。
21、可選的,計(jì)算預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)的處理時(shí)間的和值后,方法還包括:
22、在和值大于或等于時(shí)間閾值的情況下,調(diào)整預(yù)設(shè)數(shù)量,直至重新計(jì)算得到的和值小于重新計(jì)算得到的時(shí)間閾值。
23、可選的,確定多個(gè)進(jìn)程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息之后,方法還包括:
24、根據(jù)第二位置信息構(gòu)建動(dòng)態(tài)數(shù)組,其中,動(dòng)態(tài)數(shù)組是指狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的索引文件;
25、根據(jù)設(shè)定網(wǎng)格信息為索引文件動(dòng)態(tài)分配存儲(chǔ)空間;
26、通過多個(gè)進(jìn)程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù),包括:
27、通過多個(gè)進(jìn)程從存儲(chǔ)空間中第二位置信息處讀取狀態(tài)數(shù)據(jù)。
28、第二方面,本公開實(shí)施例提供了一種資料同化裝置,包括:
29、計(jì)算單元,用于計(jì)算多個(gè)進(jìn)程待處理觀測數(shù)據(jù)在當(dāng)前觀測文件中的第一位置信息;
30、第一讀取單元,用于通過多個(gè)進(jìn)程根據(jù)第一位置信息并行讀取觀測數(shù)據(jù);
31、確定單元,用于確定多個(gè)進(jìn)程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息,當(dāng)前狀態(tài)文件是基于歷史觀測文件得到的狀態(tài)估計(jì)文件;
32、第二讀取單元,用于通過多個(gè)進(jìn)程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù);
33、資料同化單元,用于將狀態(tài)數(shù)據(jù)和觀測數(shù)據(jù)進(jìn)行資料同化,更新當(dāng)前狀態(tài)文件。
34、第三方面,本公開實(shí)施例提供了一種電子設(shè)備,包括:
35、存儲(chǔ)器;
36、處理器;以及
37、計(jì)算機(jī)程序;
38、其中,計(jì)算機(jī)程序存儲(chǔ)在存儲(chǔ)器中,并被配置為由處理器執(zhí)行以實(shí)現(xiàn)如上述的第一方面方法。
39、第四方面,本公開實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述的第一方面方法的步驟。
40、本公開提供的資料同化方法,包括:計(jì)算多個(gè)進(jìn)程待處理觀測數(shù)據(jù)在當(dāng)前觀測文件中的第一位置信息;通過多個(gè)進(jìn)程根據(jù)第一位置信息并行讀取觀測數(shù)據(jù);確定多個(gè)進(jìn)程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息,當(dāng)前狀態(tài)文件是基于歷史觀測文件得到的狀態(tài)估計(jì)文件;通過多個(gè)進(jìn)程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù);將狀態(tài)數(shù)據(jù)和觀測數(shù)據(jù)進(jìn)行資料同化,更新當(dāng)前狀態(tài)文件。本申請?zhí)峁┑姆椒?,在資料同化過程中能夠高效利用資源,減少了性能浪費(fèi)。
1.一種資料同化方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過所述多個(gè)進(jìn)程根據(jù)所述第一位置信息并行讀取觀測數(shù)據(jù)之后,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過所述多個(gè)進(jìn)程根據(jù)所述第二位置信息讀取狀態(tài)數(shù)據(jù),包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在所述當(dāng)前觀測文件包括的多個(gè)觀測數(shù)據(jù)中,確定所述多個(gè)進(jìn)程待處理的目標(biāo)觀測數(shù)據(jù),包括:
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在所述當(dāng)前觀測文件包括的多個(gè)觀測數(shù)據(jù)中,確定所述多個(gè)進(jìn)程待處理的目標(biāo)觀測數(shù)據(jù),包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述計(jì)算預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)的處理時(shí)間的和值后,所述方法還包括:
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述確定所述多個(gè)進(jìn)程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息之后,所述方法還包括:
8.一種資料同化裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7中任一所述的資料同化方法的步驟。