恭喜無錫江南計算技術研究所王飛獲國家專利權
買專利賣專利找龍圖騰,真高效! 查專利查商標用IPTOP,全免費!專利年費監控用IP管家,真方便!
龍圖騰網恭喜無錫江南計算技術研究所申請的專利一種基于異構眾核架構的C++融合編程方法獲國家發明授權專利權,本發明授權專利權由國家知識產權局授予,授權公告號為:CN114217770B 。
龍圖騰網通過國家知識產權局官網在2025-05-16發布的發明授權授權公告中獲悉:該發明授權的專利申請號/專利號為:202110325186.8,技術領域涉及:G06F8/30;該發明授權一種基于異構眾核架構的C++融合編程方法是由王飛;尉紅梅;武文浩;沈莉;肖謙;周文浩;趙美佳;李斌設計研發完成,并于2021-03-26向國家知識產權局提交的專利申請。
本一種基于異構眾核架構的C++融合編程方法在說明書摘要公布了:本發明公開一種基于異構眾核架構的C++融合編程方法,包括以下步驟:S1、主核以頭文件“athreadcxx.h”的形式提供athreadcxx類的對象;S2、athreadcxx類的對象通過構造函數進行從核資源的初始化,通過析構函數進行從核資源的回收;S3、編譯器通過選項?mhost將使用athreadcxx類的對象編程的主核程序進行編譯;S4、從核以頭文件“slavecxx.h”的形式提供線程私有全局變量PEN、COL和ROW,用于保存當前從核的編號和行列信息。本發明解決了不同架構的指令集混合鏈接符號多重定義問題、從核間的全局變量訪存問題。
本發明授權一種基于異構眾核架構的C++融合編程方法在權利要求書中公布了:1.一種基于異構眾核架構的C++融合編程方法,其特征在于,包括以下步驟:S1、主核以頭文件“athreadcxx.h”的形式提供athreadcxx類的對象,并將該對象存放在核組共享空間中,使得符號地址不同的主核互不影響;S2、athreadcxx類的對象通過構造函數進行從核資源的初始化,通過析構函數進行從核資源的回收;athreadcxx類的對象提供成員變量cgid,用于保存當前核組的核組號;athreadcxx類的對象提供成員結構體變量core.info,用于保存主從核傳遞參數的符號地址;athreadcxx類的對象提供成員函數spawn,用于調用從核函數,具體為:S21、將從核函數名添加slave_前綴,作為成員函數spawn的第一個指針參數傳遞給從核;S22、將要傳遞的參數打包成結構體,將結構體指針作為成員函數spawn的第二個參數,傳遞給從核;S3、編譯器通過選項-mhost將使用athreadcxx類的對象編程的主核程序進行編譯,在處理符號地址的過程中,C++編譯器根據通用規則對函數名進行換名,換名結束后,通過識別slave_前綴,將換名后的函數名進行信息提取,生成包含slave_前綴且不影響原函數信息的符號地址,以去除slave_前綴對換名的影響;S4、從核以頭文件“slavecxx.h”的形式提供線程私有全局變量PEN、COL和ROW,用于保存當前從核的編號和行列信息;從核以頭文件“slavecxx.h”的形式提供全局函數getArg,該函數的返回值為S22中主核傳遞給從核的第二個參數指針,通過對該返回值的解構,獲取到主核要傳遞給從核的參數;從核使用thread_local關鍵字對從核私有的全局變量進行聲明,聲明該變量存放在從核私有空間中,而普通的全局變量存放在核組共享空間中;S5、編譯器通過選項-mslave將包含頭文件“slavecxx.h”的從核程序進行編譯,當識別到thread_local關鍵字時,將該全局變量的符號地址添加section信息,鏈接時對包含該section信息的變量符號地址編址為從核私有空間的地址格式,在處理符號地址的過程中,對所有的從核符號,C++編譯器根據通用規則對函數名進行換名,換名結束后,添加slave_前綴,以區別主核符號地址;S6、編譯器通過選項-mhybrid將主核程序符號地址、主核程序中包含slave_前綴的符號地址和從核程序中所有包含slave_地址進行鏈接處理,生成不同指令集的混合可執行碼,使得主核只通過前綴slave_方式調用從核。
如需購買、轉讓、實施、許可或投資類似專利技術,可聯系本專利的申請人或專利權人無錫江南計算技術研究所,其通訊地址為:214038 江蘇省無錫市濱湖區山水東路699號;或者聯系龍圖騰網官方客服,聯系龍圖騰網可撥打電話0551-65771310或微信搜索“龍圖騰網”。
1、本報告根據公開、合法渠道獲得相關數據和信息,力求客觀、公正,但并不保證數據的最終完整性和準確性。
2、報告中的分析和結論僅反映本公司于發布本報告當日的職業理解,僅供參考使用,不能作為本公司承擔任何法律責任的依據或者憑證。