[發(fā)明專利]一種單指令多數(shù)據(jù)SIMD指令的生成、處理方法以及相關(guān)設(shè)備在審
| 申請?zhí)枺?/td> | 202010177489.5 | 申請日: | 2020-03-13 |
| 公開(公告)號: | CN113391842A | 公開(公告)日: | 2021-09-14 |
| 發(fā)明(設(shè)計(jì))人: | 武琛;林逸凡;淡孝強(qiáng) | 申請(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 深圳市深佳知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44285 | 代理人: | 王仲凱 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 指令 多數(shù) simd 生成 處理 方法 以及 相關(guān) 設(shè)備 | ||
1.一種單指令多數(shù)據(jù)SIMD指令的生成方法,其特征在于,所述方法包括:
獲取第一張量計(jì)算式的至少一個(gè)循環(huán)維度中每個(gè)循環(huán)維度的長度;
獲取多組第一單指令多數(shù)據(jù)SIMD指令模型的信息,其中,每組第一SIMD指令模型的信息對應(yīng)于一個(gè)張量計(jì)算式的至少一個(gè)循環(huán)維度,所述每組第一SIMD指令模型的信息包括第一約束條件,所述第一約束條件用于指示所述至少一個(gè)循環(huán)維度中每個(gè)循環(huán)維度的長度的約束條件;
根據(jù)所述第一約束條件和所述第一張量計(jì)算式的至少一個(gè)循環(huán)維度中每個(gè)循環(huán)維度的長度,從所述多組第一SIMD指令模型的信息中選取第二SIMD指令模型的信息,所述第一張量計(jì)算式的循環(huán)維度的長度滿足所述第二SIMD指令模型的信息中的所述第一約束條件;
根據(jù)所述第一張量計(jì)算式的至少一個(gè)循環(huán)維度的長度和所述第二SIMD指令模型,生成所述第一張量計(jì)算式轉(zhuǎn)換后的第一SIMD指令。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,每組所述第一SIMD指令模型的信息還包括第一指示信息,一個(gè)第一指示信息用于指示一個(gè)第一SIMD指令模型的K個(gè)第一參數(shù)與一個(gè)張量計(jì)算式的至少一個(gè)循環(huán)維度之間的對應(yīng)關(guān)系,所述K為大于或等于1的整數(shù),所述第一參數(shù)指示對一個(gè)張量計(jì)算式中一數(shù)據(jù)對象重復(fù)執(zhí)行一操作的次數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述循環(huán)維度的數(shù)量為N個(gè),所述至少一組第一SIMD指令模型的信息中包括多類SIMD指令模型的信息,不同種類的SIMD指令模型的信息對應(yīng)的N的取值不同,所述N為大于1的整數(shù)。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一約束條件與執(zhí)行所述轉(zhuǎn)換后的第一SIMD指令的芯片種類相關(guān)。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述第一張量計(jì)算式的至少一個(gè)循環(huán)維度的長度和所述第二SIMD指令模型,生成所述第一張量計(jì)算式轉(zhuǎn)換后的第一SIMD指令,包括:
根據(jù)所述第一張量計(jì)算式的至少一個(gè)循環(huán)維度的長度和所述第二SIMD指令模型,生成多個(gè)第一SIMD指令;
根據(jù)所述多個(gè)第一SIMD指令中每個(gè)第一SIMD指令的代價(jià)函數(shù),選擇所述多個(gè)第一SIMD指令中滿足優(yōu)化目標(biāo)的SIMD指令,并將其作為所述第一張量計(jì)算式轉(zhuǎn)換后的第一SIMD指令,其中,所述代價(jià)函數(shù)指示與所述第一SIMD指令相關(guān)的優(yōu)化目標(biāo)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述代價(jià)函數(shù)指示的優(yōu)化目標(biāo)包括以下至少一種:SIMD指令執(zhí)行總次數(shù)最少、SIMD指令執(zhí)行總次數(shù)最多、SIMD指令中整塊和尾塊數(shù)目最少、SIMD指令中整塊和尾塊數(shù)目最多、SIMD指令中整塊和尾塊之間間隔最大、SIMD指令中整塊和尾塊之間間隔最小、SIMD指令調(diào)度延遲最小、SIMD指令調(diào)度延遲最大、SIMD指令的執(zhí)行總時(shí)長最小、SIMD指令中地址偏移量的計(jì)算開銷最大和SIMD指令中地址偏移量的計(jì)算開銷最小。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述代價(jià)函數(shù)的自變量包括以下至少一項(xiàng):所述第一SIMD指令中所述第一參數(shù)的參數(shù)值、所述第一SIMD指令中整塊的數(shù)量、所述第一SIMD指令中尾塊的數(shù)量、所述第一SIMD指令中地址偏移量的計(jì)算次數(shù)、執(zhí)行一條SIMD指令的時(shí)長和從執(zhí)行一條第一SIMD指令的過程切換到執(zhí)行另一條第一SIMD指令的過程的時(shí)長。
8.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述第一張量計(jì)算式的至少一個(gè)循環(huán)維度的長度和所述第二SIMD指令模型,生成所述第一張量計(jì)算式轉(zhuǎn)換后的第一SIMD指令,包括:
根據(jù)所述第二SIMD指令模型的信息中的所述第一指示信息,獲取所述第一張量計(jì)算式的第一循環(huán)維度對應(yīng)的第一參數(shù),其中,所述第一循環(huán)維度為所述至少一個(gè)循環(huán)維度中的一個(gè)循環(huán)維度,所述第一循環(huán)維度的長度不整除所述對應(yīng)的第一參數(shù)的取值范圍;
基于所述第一循環(huán)維度的長度,生成所述第一SIMD指令的整塊部分的參數(shù)值和所述第一SIMD指令的尾塊部分的參數(shù)值。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010177489.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 具有級聯(lián)SIMD結(jié)構(gòu)的數(shù)字信號處理器
- 信息處理裝置以及機(jī)器語言程序變換裝置
- 處理器中的有效并行浮點(diǎn)異常處理
- 在單指令多數(shù)據(jù)多核處理器架構(gòu)上轉(zhuǎn)置矩陣的方法和系統(tǒng)
- 具有單指令多數(shù)據(jù)處理電路的數(shù)據(jù)處理裝置
- 用于單指令多數(shù)據(jù)處理器的高效硬件指令
- 用于改進(jìn)SIMD KNN實(shí)現(xiàn)的設(shè)備、方法、系統(tǒng)和機(jī)器可讀介質(zhì)
- 用于單指令多數(shù)據(jù)處理器的高效硬件指令
- 單指令多數(shù)據(jù)處理器與相關(guān)方法
- 一種應(yīng)用于處理器的寄存器控制SIMD指令擴(kuò)展方法





