本申請(qǐng)涉及數(shù)據(jù)處理,特別涉及一種分布式處理裝置、神經(jīng)網(wǎng)絡(luò)處理單元以及芯片系統(tǒng)。
背景技術(shù):
1、在數(shù)據(jù)處理技術(shù)領(lǐng)域中,可以將同一任務(wù)分布到多個(gè)處理模塊進(jìn)行處理,再將多個(gè)處理模塊的處理結(jié)果聚合得到該任務(wù)的最終處理結(jié)果。這種多個(gè)處理模塊分布式處理的方式,多個(gè)處理模塊之間的同步性能,將會(huì)影響分布式處理裝置的整體性能。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)?zhí)峁┝艘环N分布式處理裝置、神經(jīng)網(wǎng)絡(luò)處理單元以及芯片系統(tǒng),使得分布式處理裝置中的多個(gè)處理模塊針對(duì)同一個(gè)任務(wù)的處理周期相同。
2、第一方面,提供一種分布式處理裝置,所述分布式處理裝置包括多個(gè)處理模塊,所述多個(gè)處理模塊用于分布式協(xié)同處理第一任務(wù),所述多個(gè)處理模塊之間處理被分布到的所述第一任務(wù)的子任務(wù)所需的處理周期不同;
3、所述多個(gè)處理模塊,分別用于按照所述第一任務(wù)的同步周期處理被分布到的所述第一任務(wù)的子任務(wù),所述第一任務(wù)的同步周期基于所述多個(gè)處理模塊分別對(duì)應(yīng)的處理周期中的最大值確定。
4、在一種可能的實(shí)施方式中,所述多個(gè)處理模塊之間依次鏈?zhǔn)竭B接;
5、所述多個(gè)處理模塊中位于末位的第一處理模塊,用于向上游連接的第二處理模塊發(fā)送所述第一處理模塊的第一處理周期;
6、所述第二處理模塊,用于接收所述第一處理周期,確定所述第一處理周期與所述第二處理模塊的第二處理周期中較大的第一中間周期,并向上游連接的第三處理模塊發(fā)送所述第一中間周期;
7、所述第三處理模塊,用于接收所述第一中間周期,確定所述第一中間周期與所述第三處理模塊的第三處理周期中較大的第二中間周期;
8、在所述第三處理模塊位于所述多個(gè)處理模塊中的首位的情況下,所述第三處理模塊,還用于將所述第二中間周期作為所述第一任務(wù)的同步周期。
9、在一種可能的實(shí)施方式中,在所述第三處理模塊未位于所述多個(gè)處理模塊中的首位的情況下,所述第三處理模塊,還用于向上游連接的第四處理模塊發(fā)送所述第二中間周期;
10、所述第四處理模塊,用于接收所述第二中間周期,確定所述第二中間周期和所述第四處理模塊的第四處理周期中較大的第三中間周期;
11、在所述第四處理模塊位于所述多個(gè)處理模塊中的首位的情況下,所述第四處理模塊,還用于將所述第三中間周期作為所述第一任務(wù)的同步周期。
12、在一種可能的實(shí)施方式中,所述第三處理模塊,還用于向所述第二處理模塊發(fā)送所述第一任務(wù)的同步周期;
13、所述第二處理模塊,還用于接收所述第一任務(wù)的同步周期,并向所述第一處理模塊發(fā)送所述第一任務(wù)的同步周期。
14、在一種可能的實(shí)施方式中,所述多個(gè)處理模塊中的任一處理模塊中包括同步周期隊(duì)列,所述同步周期隊(duì)列用于存儲(chǔ)各個(gè)任務(wù)的同步周期;
15、所述任一處理模塊,還用于獲取所述第一任務(wù)的同步周期,將所述第一任務(wù)的同步周期寫入所述同步周期隊(duì)列;
16、所述任一處理模塊,用于在從所述同步周期隊(duì)列中讀取到所述第一任務(wù)的同步周期的情況下,按照所述第一任務(wù)的同步周期處理被分布到的所述第一任務(wù)的子任務(wù)。
17、在一種可能的實(shí)施方式中,所述分布式處理裝置還包括聚合模塊;所述聚合模塊,用于在所述多個(gè)處理模塊均完成被分布到的所述第一任務(wù)的子任務(wù)的情況下,聚合所述多個(gè)處理模塊分別對(duì)應(yīng)的處理結(jié)果,得到所述第一任務(wù)的處理結(jié)果。
18、在一種可能的實(shí)施方式中,所述多個(gè)處理模塊中的任一處理模塊,還用于向所述聚合模塊發(fā)送所述第一任務(wù)的同步周期中的每個(gè)處理周期的處理結(jié)果;且在達(dá)到所述第一任務(wù)的同步周期的情況下,向所述聚合模塊發(fā)送完成信號(hào),所述完成信號(hào)指示所述任一處理模塊處理完成被分布到的所述第一任務(wù)的子任務(wù)。
19、在一種可能的實(shí)施方式中,所述第一任務(wù)為n個(gè)乘法運(yùn)算的加和,任一處理模塊被分布到的子任務(wù)為所述n個(gè)乘法運(yùn)算中的m個(gè)乘法運(yùn)算的加和,所述m為正整數(shù),所述n為大于所述m的正整數(shù);
20、所述任一處理模塊為計(jì)算單元集群pec,所述pec包括p個(gè)乘法單元和一個(gè)累加器,所述p個(gè)乘法單元用于分布式處理乘法運(yùn)算,所述累加器用于獲取所述p個(gè)乘法單元的運(yùn)算結(jié)果的加和,所述p為正整數(shù);
21、所述任一處理模塊的處理周期為m’與所述p的商值向上取整后的值,所述m’為所述m個(gè)乘法運(yùn)算中乘數(shù)不為零的乘法運(yùn)算的數(shù)量。
22、在一種可能的實(shí)施方式中,所述第一任務(wù)的同步周期大于所述任一處理模塊的處理周期;
23、所述任一處理模塊,用于在所述任一處理模塊的處理周期內(nèi),通過所述p個(gè)乘法單元和一個(gè)累加器計(jì)算所述m’個(gè)乘法運(yùn)算的加和;
24、在所述任一處理模塊的處理周期外且所述第一任務(wù)的同步周期內(nèi)進(jìn)行補(bǔ)零計(jì)算。
25、第二方面,還提供了一種神經(jīng)網(wǎng)絡(luò)處理單元,所述神經(jīng)網(wǎng)絡(luò)處理單元包括上述第一方面所述的分布式處理裝置。
26、第三方面,還提供了一種芯片系統(tǒng),所述芯片系統(tǒng)包括處理器和上述第二方面所述的神經(jīng)網(wǎng)絡(luò)處理單元。
27、本申請(qǐng)?zhí)峁┑募夹g(shù)方案至少可以帶來如下有益效果:
28、本申請(qǐng)?zhí)峁┑姆植际教幚硌b置,針對(duì)同一任務(wù)分布到多個(gè)處理模塊共同處理的場(chǎng)景,根據(jù)多個(gè)處理模塊中的最大處理周期來獲取同步周期,使得多個(gè)處理模塊均能夠按照該同步周期對(duì)同一任務(wù)進(jìn)行處理。由此,使得多個(gè)處理模塊處理同一個(gè)任務(wù)的處理周期相同,達(dá)到對(duì)多個(gè)處理模塊進(jìn)行同步控制的效果,避免因處理周期不同導(dǎo)致的處理錯(cuò)誤,提高了分布式處理的準(zhǔn)確性。
1.一種分布式處理裝置,其特征在于,所述分布式處理裝置包括多個(gè)處理模塊,所述多個(gè)處理模塊用于分布式協(xié)同處理第一任務(wù),所述多個(gè)處理模塊之間處理被分布到的所述第一任務(wù)的子任務(wù)所需的處理周期不同;
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述多個(gè)處理模塊之間依次鏈?zhǔn)竭B接;
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,在所述第三處理模塊未位于所述多個(gè)處理模塊中的首位的情況下,所述第三處理模塊,還用于向上游連接的第四處理模塊發(fā)送所述第二中間周期;
4.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述第三處理模塊,還用于向所述第二處理模塊發(fā)送所述第一任務(wù)的同步周期;
5.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述多個(gè)處理模塊中的任一處理模塊中包括同步周期隊(duì)列,所述同步周期隊(duì)列用于存儲(chǔ)各個(gè)任務(wù)的同步周期;
6.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述分布式處理裝置還包括聚合模塊;所述聚合模塊,用于在所述多個(gè)處理模塊均完成被分布到的所述第一任務(wù)的子任務(wù)的情況下,聚合所述多個(gè)處理模塊分別對(duì)應(yīng)的處理結(jié)果,得到所述第一任務(wù)的處理結(jié)果。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述多個(gè)處理模塊中的任一處理模塊,還用于向所述聚合模塊發(fā)送所述第一任務(wù)的同步周期中的每個(gè)處理周期的處理結(jié)果;且在達(dá)到所述第一任務(wù)的同步周期的情況下,向所述聚合模塊發(fā)送完成信號(hào),所述完成信號(hào)指示所述任一處理模塊處理完成被分布到的所述第一任務(wù)的子任務(wù)。
8.根據(jù)權(quán)利要求1-7任一所述的裝置,其特征在于,所述第一任務(wù)為n個(gè)乘法運(yùn)算的加和,任一處理模塊被分布到的子任務(wù)為所述n個(gè)乘法運(yùn)算中的m個(gè)乘法運(yùn)算的加和,所述m為正整數(shù),所述n為大于所述m的正整數(shù);
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第一任務(wù)的同步周期大于所述任一處理模塊的處理周期;
10.一種神經(jīng)網(wǎng)絡(luò)處理單元,其特征在于,所述神經(jīng)網(wǎng)絡(luò)處理單元包括如權(quán)利要求1-9任一項(xiàng)所述的分布式處理裝置。
11.一種芯片系統(tǒng),其特征在于,所述芯片系統(tǒng)包括處理器和如權(quán)利要求10所述的神經(jīng)網(wǎng)絡(luò)處理單元。