本發(fā)明涉及計(jì)算機(jī),尤其涉及數(shù)據(jù)處理裝置、方法、計(jì)算系統(tǒng)、程序產(chǎn)品、存儲(chǔ)介質(zhì)。
背景技術(shù):
1、三維快速傅里葉變換作為高性能計(jì)算領(lǐng)域的核心算法,其硬件加速優(yōu)化對(duì)提升科學(xué)計(jì)算應(yīng)用性能具有重要價(jià)值。相關(guān)技術(shù)中,為提升三維快速傅里葉變換的效率,可以將待計(jì)算的三維矩陣數(shù)據(jù)分片為多個(gè)二維矩陣數(shù)據(jù),并在計(jì)算設(shè)備中設(shè)置多個(gè)計(jì)算核、利用多個(gè)計(jì)算核并行處理這多個(gè)二維矩陣數(shù)據(jù)。由于三維矩陣數(shù)據(jù)的分片導(dǎo)致某一維度的數(shù)據(jù)不連續(xù),無(wú)法滿足快速傅里葉變換的計(jì)算要求,因此在對(duì)該維度進(jìn)行快速傅里葉變換計(jì)算之前,需在該維度所在平面中對(duì)三維矩陣數(shù)據(jù)進(jìn)行轉(zhuǎn)置。這一轉(zhuǎn)置通常由數(shù)據(jù)轉(zhuǎn)置單元這一硬件結(jié)構(gòu)實(shí)現(xiàn)。然而,隨著計(jì)算核數(shù)量的增多,數(shù)據(jù)轉(zhuǎn)置單元需要設(shè)置大量通道與計(jì)算核進(jìn)行通信,容易帶來(lái)嚴(yán)重的扇出效應(yīng),進(jìn)而影響數(shù)據(jù)處理裝置的性能。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了數(shù)據(jù)處理裝置、方法、計(jì)算系統(tǒng)、程序產(chǎn)品、存儲(chǔ)介質(zhì),可在數(shù)據(jù)轉(zhuǎn)置單元實(shí)施分級(jí)轉(zhuǎn)置策略,先使用一級(jí)互連通道進(jìn)行局部轉(zhuǎn)置,再使用二級(jí)互連通道進(jìn)行數(shù)據(jù)重組,從而可減少單級(jí)互連通道的分支密度,避免出現(xiàn)扇出效應(yīng),從而可提升數(shù)據(jù)處理裝置的處理性能。
2、為解決上述技術(shù)問題,本發(fā)明提供了一種數(shù)據(jù)處理裝置,包括計(jì)算核、本地內(nèi)存、至少兩個(gè)一級(jí)互連通道和至少兩個(gè)二級(jí)互連通道?,計(jì)算核、一級(jí)互連通道、本地內(nèi)存分為至少兩個(gè)功能組;一級(jí)互連通道分別與所在功能組的計(jì)算核、各二級(jí)互連通道連接;二級(jí)互連通道與各功能組的本地內(nèi)存連接;
3、本地內(nèi)存,用于存放功能組的至少兩份二維矩陣數(shù)據(jù);二維矩陣數(shù)據(jù)通過(guò)對(duì)待處理的三維矩陣數(shù)據(jù)在第二方向上進(jìn)行分片得到;
4、計(jì)算核,用于向本地內(nèi)存讀取功能組的二維矩陣數(shù)據(jù),對(duì)二維矩陣數(shù)據(jù)執(zhí)行沿第一方向的快速傅里葉變換計(jì)算得到二維矩陣計(jì)算結(jié)果,并將二維矩陣計(jì)算結(jié)果發(fā)送至一級(jí)互連通道;
5、一級(jí)互連通道,用于在第一方向和第二方向形成的第一平面中,確定功能組的二維矩陣計(jì)算結(jié)果在第一平面中形成的各二維數(shù)據(jù)面,對(duì)各二維數(shù)據(jù)面進(jìn)行局部轉(zhuǎn)置得到二維數(shù)據(jù)面轉(zhuǎn)置結(jié)果,并將二維數(shù)據(jù)面轉(zhuǎn)置結(jié)果中的不同數(shù)據(jù)行發(fā)送至不同二級(jí)互連通道;
6、二級(jí)互連通道,用于對(duì)位于相同第一平面的各數(shù)據(jù)行進(jìn)行重組得到各功能組的轉(zhuǎn)置后二維矩陣數(shù)據(jù),并將轉(zhuǎn)置后二維矩陣數(shù)據(jù)寫入對(duì)應(yīng)的本地內(nèi)存,以便計(jì)算核對(duì)轉(zhuǎn)置后二維矩陣數(shù)據(jù)執(zhí)行沿第二方向的快速傅里葉變換計(jì)算。
7、本發(fā)明還提供一種數(shù)據(jù)處理方法,應(yīng)用于數(shù)據(jù)處理裝置,數(shù)據(jù)處理裝置包括計(jì)算核、本地內(nèi)存、至少兩個(gè)一級(jí)互連通道和至少兩個(gè)二級(jí)互連通道,計(jì)算核、一級(jí)互連通道、本地內(nèi)存分為至少兩個(gè)功能組,各功能組的本地內(nèi)存保存至少兩份二維矩陣數(shù)據(jù),二維矩陣數(shù)據(jù)通過(guò)對(duì)待處理的三維矩陣數(shù)據(jù)在第二方向上進(jìn)行分片得到;方法包括:
8、計(jì)算核向本地內(nèi)存讀取功能組的二維矩陣數(shù)據(jù),對(duì)二維矩陣數(shù)據(jù)執(zhí)行沿第一方向的快速傅里葉變換計(jì)算得到二維矩陣計(jì)算結(jié)果,并將二維矩陣計(jì)算結(jié)果發(fā)送至功能組的一級(jí)互連通道;
9、一級(jí)互連通道在第一方向和第二方向形成的第一平面中,確定功能組的二維矩陣計(jì)算結(jié)果在第一平面中形成的各二維數(shù)據(jù)面,對(duì)各二維數(shù)據(jù)面進(jìn)行局部轉(zhuǎn)置得到二維數(shù)據(jù)面轉(zhuǎn)置結(jié)果,并將二維數(shù)據(jù)面轉(zhuǎn)置結(jié)果中的不同數(shù)據(jù)行發(fā)送至不同二級(jí)互連通道;
10、二級(jí)互連通道對(duì)位于相同第一平面中的各數(shù)據(jù)行進(jìn)行重組得到各功能組的轉(zhuǎn)置后二維矩陣數(shù)據(jù),并將轉(zhuǎn)置后二維矩陣數(shù)據(jù)寫入對(duì)應(yīng)的本地內(nèi)存,以便計(jì)算核對(duì)轉(zhuǎn)置后二維矩陣數(shù)據(jù)執(zhí)行沿第二方向的快速傅里葉變換計(jì)算。
11、本發(fā)明還提供一種計(jì)算系統(tǒng),包括主機(jī)和上述的數(shù)據(jù)處理裝置;
12、主機(jī),用于向數(shù)據(jù)處理裝置下發(fā)三維矩陣數(shù)據(jù)。
13、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述數(shù)據(jù)處理方法。
14、本發(fā)明還提供一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,計(jì)算機(jī)可執(zhí)行指令被處理器加載并執(zhí)行時(shí),實(shí)現(xiàn)上述數(shù)據(jù)處理方法。
15、本發(fā)明的有益效果在于:在本發(fā)明中,數(shù)據(jù)處理裝置可以包括計(jì)算核、本地內(nèi)存、至少兩個(gè)一級(jí)互連通道和至少兩個(gè)二級(jí)互連通道。計(jì)算核、一級(jí)互連通道、本地內(nèi)存可以分為至少兩個(gè)功能組;一級(jí)互連通道分別與所在功能組的計(jì)算核、各二級(jí)互連通道連接;二級(jí)互連通道與各功能組的本地內(nèi)存連接。其中,本地內(nèi)存可以用于存放功能組的至少兩份二維矩陣數(shù)據(jù),該二維矩陣數(shù)據(jù)通過(guò)對(duì)待處理的三維矩陣數(shù)據(jù)在第二方向上進(jìn)行分片得到,即每個(gè)功能組可并行處理至少兩份二維矩陣數(shù)據(jù)。計(jì)算核可以向本地內(nèi)存讀取功能組的二維矩陣數(shù)據(jù),對(duì)二維矩陣數(shù)據(jù)執(zhí)行沿第一方向的快速傅里葉變換計(jì)算得到二維矩陣計(jì)算結(jié)果,并將二維矩陣計(jì)算結(jié)果發(fā)送至一級(jí)互連通道。一級(jí)互連通道可以在第一方向和第二方向形成的第一平面中,確定功能組的二維矩陣計(jì)算結(jié)果在第一平面中形成的各二維數(shù)據(jù)面,對(duì)各二維數(shù)據(jù)面進(jìn)行局部轉(zhuǎn)置得到二維數(shù)據(jù)面轉(zhuǎn)置結(jié)果,并將二維數(shù)據(jù)面轉(zhuǎn)置結(jié)果中的不同數(shù)據(jù)行發(fā)送至不同二級(jí)互連通道。即,一級(jí)互連通道可以在功能組內(nèi),先對(duì)該組產(chǎn)生的二維矩陣計(jì)算結(jié)果進(jìn)行第一平面中的局部轉(zhuǎn)置。隨后,二級(jí)互連通道可以對(duì)位于相同第一平面的各數(shù)據(jù)行進(jìn)行重組得到各功能組的轉(zhuǎn)置后二維矩陣數(shù)據(jù),并將轉(zhuǎn)置后二維矩陣數(shù)據(jù)寫入對(duì)應(yīng)的本地內(nèi)存,以便計(jì)算核對(duì)轉(zhuǎn)置后二維矩陣數(shù)據(jù)執(zhí)行沿第二方向的快速傅里葉變換計(jì)算。即,二級(jí)互連通道可以繼續(xù)對(duì)局部轉(zhuǎn)置后的各個(gè)數(shù)據(jù)行進(jìn)行重組,得到轉(zhuǎn)置后二維矩陣數(shù)據(jù)。由于一級(jí)互連通道可僅對(duì)功能組內(nèi)產(chǎn)生的二維矩陣計(jì)算結(jié)果進(jìn)行局部轉(zhuǎn)置得到二維數(shù)據(jù)面轉(zhuǎn)置結(jié)果,并可以將二維數(shù)據(jù)面轉(zhuǎn)置結(jié)果中的不同數(shù)據(jù)行下發(fā)至不同二級(jí)互連通道,即每一二級(jí)互連通道僅需對(duì)部分?jǐn)?shù)據(jù)行進(jìn)行數(shù)據(jù)重組,因此可減少單級(jí)互連通道的分支密度,避免出現(xiàn)扇出效應(yīng),從而可提升數(shù)據(jù)處理裝置的處理性能。
16、本發(fā)明還提供一種數(shù)據(jù)處理方法、計(jì)算系統(tǒng)、程序產(chǎn)品、存儲(chǔ)介質(zhì),具有上述有益效果。
1.一種數(shù)據(jù)處理裝置,其特征在于,包括計(jì)算核、本地內(nèi)存、至少兩個(gè)一級(jí)互連通道和至少兩個(gè)二級(jí)互連通道,所述計(jì)算核、所述一級(jí)互連通道、所述本地內(nèi)存分為至少兩個(gè)功能組;所述一級(jí)互連通道分別與所在功能組的計(jì)算核、各二級(jí)互連通道連接;所述二級(jí)互連通道與各功能組的本地內(nèi)存連接;
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于,所述一級(jí)互連通道,還用于將所述二維數(shù)據(jù)面等分為b×b尺寸的子矩陣,并對(duì)各所述子矩陣進(jìn)行轉(zhuǎn)置,得到所述二維數(shù)據(jù)面轉(zhuǎn)置結(jié)果;b為所述功能組中的二維矩陣數(shù)據(jù)的份數(shù);
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于,所述三維矩陣數(shù)據(jù)的尺寸為n3,所述一級(jí)互連通道的數(shù)量為a,所述二級(jí)互連通道的數(shù)量為b,所述功能組的數(shù)量為a,所述功能組包含b個(gè)本地內(nèi)存,所述二級(jí)互連通道與各功能組中的一個(gè)本地內(nèi)存連接,a×b=n。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理裝置,其特征在于,當(dāng)每個(gè)功能組中的計(jì)算核數(shù)量小于b時(shí),所述計(jì)算核,還用于:
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理裝置,其特征在于,當(dāng)每個(gè)功能組中的計(jì)算核數(shù)量等于b時(shí),所述計(jì)算核設(shè)置有專屬的本地內(nèi)存。
6.根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理裝置,其特征在于,當(dāng)每個(gè)功能組中的計(jì)算核數(shù)量大于b時(shí),所述數(shù)據(jù)處理裝置還包括三級(jí)互連通道;
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)處理裝置,其特征在于,所述計(jì)算核,還用于:
8.根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理裝置,其特征在于,所述一級(jí)互連通道具有b個(gè)輸入端和輸出端,所述二級(jí)互連通道具有a個(gè)輸入端和輸出端,所述一級(jí)互連通道的輸入端與所述計(jì)算核的輸出端連接,所述一級(jí)互連通道的每個(gè)輸出端與每個(gè)二級(jí)互連通道的輸入端連接,所述二級(jí)互連通道的每個(gè)輸出端與每個(gè)功能組中的一個(gè)本地內(nèi)存連接。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理裝置,其特征在于,還包括先入先出隊(duì)列,所述先入先出隊(duì)列與所述一級(jí)互連通道的每個(gè)輸入端對(duì)應(yīng),并與所述計(jì)算核的輸出端、所述一級(jí)互連通道的輸入端連接;
10.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于,還包括:
11.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于,所述本地內(nèi)存包含第一端口和第二端口,所述計(jì)算核通過(guò)所述第一端口讀取所述二維矩陣數(shù)據(jù),所述二級(jí)互連通道通過(guò)所述第二端口寫入所述轉(zhuǎn)置后二維矩陣數(shù)據(jù)。
12.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于數(shù)據(jù)處理裝置,所述數(shù)據(jù)處理裝置包括計(jì)算核、本地內(nèi)存、至少兩個(gè)一級(jí)互連通道和至少兩個(gè)二級(jí)互連通道,所述計(jì)算核、所述一級(jí)互連通道、所述本地內(nèi)存分為至少兩個(gè)功能組,各功能組的本地內(nèi)存保存至少兩份二維矩陣數(shù)據(jù),所述二維矩陣數(shù)據(jù)通過(guò)對(duì)待處理的三維矩陣數(shù)據(jù)在第二方向上進(jìn)行分片得到;所述方法包括:
13.一種計(jì)算系統(tǒng),其特征在于,包括主機(jī)和權(quán)利要求1至11任一項(xiàng)所述的數(shù)據(jù)處理裝置;
14.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,其特征在于,所述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求12所述的數(shù)據(jù)處理方法。
15.一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令被處理器加載并執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求12所述的數(shù)據(jù)處理方法。