[發明專利]一種基于SIMT編程模型的張量化并行計算方法在審
| 申請號: | 202010534263.6 | 申請日: | 2020-06-11 |
| 公開(公告)號: | CN111831429A | 公開(公告)日: | 2020-10-27 |
| 發明(設計)人: | 江子山;梁曉峣;景乃鋒;官惠澤;王雅潔;張選;宋卓然;江昭明 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F17/16 |
| 代理公司: | 上海光華專利事務所(普通合伙) 31219 | 代理人: | 周涌賀 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 simt 編程 模型 量化 并行 計算方法 | ||
本發明提供一種基于SIMT編程模型的張量化并行計算方法,基于主機端、轉換單元和設備端之間的交互,將設備端的數據處理單元由標量轉換為張量元,實現對數據的張量化運算處理,拓展了SIMT編程模型所適用的異構平臺的范圍,提高了編程模型的通用性,靈活性和便捷性;以及在執行任務指令時,對檢測到的為對張量元運算處理的任務指令,通過調用預先封裝的小核函數進行運算處理,既提高了底層計算的效率,又方便了計算調度的實現。
技術領域
本發明涉及并行計算領域,尤其是涉及一種基于SIMT模型的張量化并行計算編程方法。
背景技術
并行計算在廣義上一般是指同時使用多個計算資源來解決一個計算任務,而這種計算資源可以是同一個處理器的多個核心,也可以是同一臺計算機中的多個處理器,抑或是任意數量的被連接在一起的計算機。隨著計算架構的發展以及異構計算的出現,現如今的并行計算所使用的計算資源往往不再是具有相同的計算架構,而是由多種計算架構共同構建而成的異構計算平臺。尤其是近些年來,人工智能的興起以及AI芯片的誕生,計算架構不斷演進以及計算任務計算量的不斷增長,異構并行計算平臺也越來越受到工業界和學術界的關注。目前典型的異構計算平臺主要包括CPU+GPU、CPU+FPGA以及CPU+ASIC,其中CPU是傳統的具有一定計算能力以及超強邏輯控制能力的計算資源,負責計算任務中的邏輯控制以及應用管理,GPU/FPGA/ASIC則是較為專用的具有超強計算能力和有限邏輯控制能力的計算資源,在CPU的調度下專門完成計算密集的計算任務。異構計算平臺打破了傳統的多核心或者多處理器的并行計算方式,使得不同計算架構的計算資源完成其各自擅長的任務,從而提供更高的通用性、靈活度以及可擴展性。
然而,由于不同計算資源具有不同的計算架構,使得相互之間的通信與控制變得更加復雜,這也增加了并行計算應用的開發難度。例如,SIMT作為目前被廣泛使用的,適配于GPGPU(General-purpose computing on graphics processing unit,通用圖形處理器)的異構并行計算編程模型,具有線程的概念,但由于受GPGPU中基本計算單元為標量的緣故,在編寫神經網絡中常見的張量間的計算任務時會變得相對復雜,并且SIMT編程模型只適用于GPGPU設備,不能適配FPGA、ASIC等異構計算加速設備,導致無法根據不同計算任務的計算特點選擇不同的專用加速架,使得通用性十分有限。此外,由于SIMT編程模型遵從過程式編程,因此在實現復雜計算任務時,編程較為麻煩,往往需要進行多次重復性的工作。
因此,如何基于異構計算平臺,實現SIMT編程模型的更加靈活和便捷地開發應用,已經成為了一個日益突出的問題。
發明內容
鑒于以上所述現有技術的缺點,本發明的目的在于提供一種基于SIMT模型的張量化并行計算編程方法,用于解決現有技術中SIMT編程模型受專用設備平臺的限制性較強,無法實現根據不同計算任務的計算特點支持不同的專用加速架,通用性有限等問題。
為實現上述目的及其他相關目的,本發明提供一種基于SIMT模型的張量化并行計算編程方法,基于主機端、轉換單元和設備端之間的交互實現對數據的張量化運算處理;所述方法包括:所述主機端獲取任務信息和設備端信息,所述任務信息包括任務指令、第一數據信息和預設結果信息,所述設備端信息包括張量元信息;所述主機端根據所述第一數據信息獲取第一數據;根據所述預設結果信息配置主機端存儲空間,并獲取與所述主機端存儲空間對應的主機端存儲地址信息;所述主機端發送第一轉換指令和第一轉換信息至所述轉換單元,使所述轉換單元根據所述第一轉換信息,將以標量為數據單元的所述第一數據轉換為以張量元為數據單元的第二數據,并存儲至所述設備端中;所述主機端發送所述任務指令至所述設備端,使所述設備端以張量元為計算單元運算處理所述第二數據以獲得第一結果,并返回第一結果信息至所述主機端中;所述主機端接收所述第一結果信息后,發送第二轉換指令和第二轉換信息至所述轉換單元,使所述轉換單元將所述第一結果轉換為以標量為數據單元的第二結果,并將所述第二結果存儲至所述主機端存儲空間。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010534263.6/2.html,轉載請聲明來源鉆瓜專利網。





