本申請實(shí)施例涉及人工智能,尤其涉及一種緩存使用優(yōu)化方法、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、人工智能模型通常指被訓(xùn)練用來進(jìn)行推理預(yù)測的神經(jīng)網(wǎng)絡(luò)模型,例如圖像推理模型、語音推理模型等。人工智能模型的計(jì)算可以由計(jì)算圖(computation?graph)中的算子(operator)來實(shí)現(xiàn)。算子指的是對人工智能模型中各層的張量所做的各種計(jì)算,例如人工智能模型的卷積層對人工智能模型的輸入數(shù)據(jù)所做的卷積計(jì)算即為卷積算子。
2、相關(guān)技術(shù)下,在卷積算子的執(zhí)行過程中,會(huì)先將特征圖(activation)和權(quán)重(weight)從顯存加載到片上高速緩存,然后按照預(yù)設(shè)的固定緩存使用策略對特征圖和權(quán)重進(jìn)行卷積計(jì)算。
3、在實(shí)際應(yīng)用中,輸入特征圖的形狀是多樣性的,而預(yù)設(shè)的固定緩存使用策略僅適用于幾種形狀的輸入特征圖,難以在多樣性的輸入特征圖的卷積計(jì)算中取得好的效果,從而導(dǎo)致緩存資源沒有得到充分利用,同時(shí)影響卷積計(jì)算的效率。
技術(shù)實(shí)現(xiàn)思路
1、本申請實(shí)施例提供了一種緩存使用優(yōu)化方法、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品,用于提高緩存資源的利用率,同時(shí)提高卷積計(jì)算的效率。
2、一方面,本申請實(shí)施例提供了一種緩存使用優(yōu)化方法,包括:
3、基于輸入張量的形狀和計(jì)算單元的數(shù)量,將所述輸入張量切分成多個(gè)子張量;針對所述多個(gè)子張量,分別執(zhí)行以下操作:
4、基于一個(gè)子張量的形狀,獲取相應(yīng)的多個(gè)緩存使用策略,并基于所述多個(gè)緩存使用策略,分別計(jì)算所述一個(gè)子張量對應(yīng)的預(yù)計(jì)處理性能;
5、基于獲得的多個(gè)預(yù)計(jì)處理性能,從所述多個(gè)緩存使用策略中獲得所述一個(gè)子張量對應(yīng)的目標(biāo)緩存策略。
6、一方面,本申請實(shí)施例提供了一種緩存使用優(yōu)化裝置,包括:
7、切分模塊,用于基于輸入張量的形狀和計(jì)算單元的數(shù)量,將所述輸入張量切分成多個(gè)子張量;
8、策略選擇模塊,用于針對所述多個(gè)子張量,分別執(zhí)行以下操作:
9、基于一個(gè)子張量的形狀,獲取相應(yīng)的多個(gè)緩存使用策略,并基于所述多個(gè)緩存使用策略,分別計(jì)算所述一個(gè)子張量對應(yīng)的預(yù)計(jì)處理性能;
10、基于獲得的多個(gè)預(yù)計(jì)處理性能,從所述多個(gè)緩存使用策略中獲得所述一個(gè)子張量對應(yīng)的目標(biāo)緩存策略。
11、可選地,所述切分模塊具體用于:
12、基于輸入張量的形狀、計(jì)算單元的數(shù)量以及所述輸入張量的多個(gè)維度的切分優(yōu)先級(jí),將所述輸入張量切分成多個(gè)子張量。
13、可選地,所述策略選擇模塊具體用于:
14、基于所述一個(gè)子張量的形狀和用于計(jì)算所述一個(gè)子張量的計(jì)算單元的緩存配置信息,獲取相應(yīng)的多個(gè)緩存使用策略。
15、可選地,所述策略選擇模塊還用于:
16、基于獲得的多個(gè)預(yù)計(jì)處理性能,從所述多個(gè)緩存使用策略中獲得所述一個(gè)子張量對應(yīng)的目標(biāo)緩存策略之后,按照所述目標(biāo)緩存策略,對所述一個(gè)子張量執(zhí)行卷積計(jì)算,獲得計(jì)算結(jié)果。
17、可選地,所述策略選擇模塊還用于:
18、基于一個(gè)子張量的形狀,獲取相應(yīng)的多個(gè)緩存使用策略之后,針對所述多個(gè)緩存使用策略,分別執(zhí)行以下操作:
19、獲取一個(gè)緩存使用策略對應(yīng)的至少一個(gè)流水配置策略,并將所述一個(gè)緩存使用策略分別與所述至少一個(gè)流水配置策略進(jìn)行組合,獲得相應(yīng)的至少一個(gè)候選策略組;
20、所述策略選擇模塊具體用于:
21、針對所述多個(gè)緩存使用策略,分別執(zhí)行以下操作:基于一個(gè)緩存使用策略對應(yīng)的至少一個(gè)候選策略組,分別計(jì)算所述一個(gè)子張量對應(yīng)的預(yù)計(jì)處理性能。
22、可選地,所述策略選擇模塊具體用于:
23、基于獲得的多個(gè)預(yù)計(jì)處理性能,從所述多個(gè)緩存使用策略對應(yīng)的候選策略組中,獲得所述一個(gè)子張量對應(yīng)的目標(biāo)策略組,所述目標(biāo)策略組包括所述目標(biāo)緩存策略和相應(yīng)的流水配置策略。
24、可選地,所述策略選擇模塊還用于:
25、基于獲得的多個(gè)預(yù)計(jì)處理性能,從所述多個(gè)緩存使用策略對應(yīng)的候選策略組中,獲得所述一個(gè)子張量對應(yīng)的目標(biāo)策略組之后,按照所述目標(biāo)策略組,對所述一個(gè)子張量執(zhí)行卷積計(jì)算,獲得計(jì)算結(jié)果。
26、一方面,本申請實(shí)施例提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、人工智能芯片及存儲(chǔ)在存儲(chǔ)器上并可在人工智能芯片上運(yùn)行的計(jì)算機(jī)程序,所述人工智能芯片執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述緩存使用優(yōu)化方法的步驟。
27、一方面,本申請實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)有可由計(jì)算機(jī)設(shè)備執(zhí)行的計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)設(shè)備上運(yùn)行時(shí),使得所述計(jì)算機(jī)設(shè)備執(zhí)行上述緩存使用優(yōu)化方法的步驟。
28、一方面,本申請實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括程序指令,當(dāng)所述程序指令被計(jì)算機(jī)設(shè)備執(zhí)行時(shí),使所述計(jì)算機(jī)設(shè)備執(zhí)行上述緩存使用優(yōu)化方法的步驟。
29、本申請實(shí)施例中,按照輸入張量的形狀和計(jì)算單元的數(shù)量,將輸入張量切分成多個(gè)子張量。按照每個(gè)子張量的形狀,獲取相應(yīng)的多個(gè)緩存使用策略,并基于每個(gè)緩存使用策略,計(jì)算該子張量對應(yīng)的預(yù)計(jì)處理性能,這樣便可基于獲得的多個(gè)預(yù)計(jì)處理性能,從多個(gè)緩存使用策略中獲得該子張量對應(yīng)的目標(biāo)緩存策略。那么,對于不同形狀的輸入張量來說,都可以選取最佳的緩存使用策略進(jìn)行卷積計(jì)算,這樣不僅可以充分利用緩存資源,同時(shí)可以提高卷積計(jì)算的效率,并且該方法可以泛化到任意場景,從而優(yōu)化了卷積算子在各類場景的計(jì)算性能。
1.一種緩存使用優(yōu)化方法,其特征在于,包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述基于輸入張量的形狀和計(jì)算單元的數(shù)量,將所述輸入張量切分成多個(gè)子張量,包括:
3.如權(quán)利要求1所述的方法,其特征在于,所述基于一個(gè)子張量的形狀,獲取相應(yīng)的多個(gè)緩存使用策略,包括:
4.如權(quán)利要求1所述的方法,其特征在于,所述基于獲得的多個(gè)預(yù)計(jì)處理性能,從所述多個(gè)緩存使用策略中獲得所述一個(gè)子張量對應(yīng)的目標(biāo)緩存策略之后,還包括:
5.如權(quán)利要求1至4任一所述的方法,其特征在于,所述基于一個(gè)子張量的形狀,獲取相應(yīng)的多個(gè)緩存使用策略之后,還包括:
6.如權(quán)利要求5所述的方法,其特征在于,所述基于獲得的多個(gè)預(yù)計(jì)處理性能,從所述多個(gè)緩存使用策略中獲得所述一個(gè)子張量對應(yīng)的目標(biāo)緩存策略,包括:
7.如權(quán)利要求6所述的方法,其特征在于,所述基于獲得的多個(gè)預(yù)計(jì)處理性能,從所述多個(gè)緩存使用策略對應(yīng)的候選策略組中,獲得所述一個(gè)子張量對應(yīng)的目標(biāo)策略組之后,還包括:
8.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、人工智能芯片及存儲(chǔ)在存儲(chǔ)器上并可在人工智能芯片上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述人工智能芯片執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1~7任一項(xiàng)所述方法的步驟。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,其存儲(chǔ)有可由計(jì)算機(jī)設(shè)備執(zhí)行的計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)設(shè)備上運(yùn)行時(shí),使得所述計(jì)算機(jī)設(shè)備執(zhí)行如權(quán)利要求1~7任一項(xiàng)所述方法的步驟。
10.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括程序指令,當(dāng)所述程序指令被計(jì)算機(jī)設(shè)備執(zhí)行時(shí),使所述計(jì)算機(jī)設(shè)備執(zhí)行如權(quán)利要求1-7任一項(xiàng)所述方法的步驟。