[發(fā)明專利]一種用于眾核處理器的函數(shù)處理方法及系統(tǒng)無效
| 申請?zhí)枺?/td> | 201210438263.1 | 申請日: | 2012-11-06 |
| 公開(公告)號: | CN102982009A | 公開(公告)日: | 2013-03-20 |
| 發(fā)明(設(shè)計(jì))人: | 金星;尤洪濤;姜小成;孫俊;王淼;張立博;毛智輝 | 申請(專利權(quán))人: | 無錫江南計(jì)算技術(shù)研究所 |
| 主分類號: | G06F17/15 | 分類號: | G06F17/15 |
| 代理公司: | 北京集佳知識產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 駱蘇華 |
| 地址: | 214083 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 用于 處理器 函數(shù) 處理 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及集成電路領(lǐng)域,特別是涉及一種用于眾核處理器的函數(shù)處理方法及系統(tǒng)。
背景技術(shù)
隨著集成電路技術(shù)的高速發(fā)展,CPU芯片的性能也越來越強(qiáng)大。其中一種主要用于浮點(diǎn)運(yùn)算和密集運(yùn)算的CPU芯片稱為眾核處理器。眾核處理器中具有多個(gè)協(xié)處理器。在運(yùn)行某段程序時(shí),眾核處理器可以將該段程序分割成多個(gè)小程序后并行運(yùn)行。分割出來的每個(gè)小程序可以稱為核心段函數(shù)。每個(gè)協(xié)處理器可以運(yùn)行一段核心段函數(shù),多個(gè)協(xié)處理器可以同時(shí)運(yùn)行多段核心段函數(shù)。這樣就可以將一段比較大的程序分割成多個(gè)小程序后,并行處理,提高CPU芯片對于大程序的處理效率。
眾核處理器中的協(xié)處理器具有局存。局存具有高速讀寫能力,但是局存的存儲空間較小。在對核心段函數(shù)進(jìn)行處理時(shí),應(yīng)該盡可能的將核心段函數(shù)用到的變量放在局存中運(yùn)行,這樣可以最大程度提高眾核處理器的處理效率。
但是,現(xiàn)有技術(shù)中,由于編譯器或編程語言的限制,協(xié)處理器在執(zhí)行函數(shù)時(shí),每個(gè)核心段函數(shù)的局存變量都會一直存儲在局存中,固定在局存的某個(gè)位置,占用局存空間,這部分空間只能被一個(gè)核心段所使用,其它核心段函數(shù)無法使用。當(dāng)變量過多時(shí),局存空間將無法存儲所有核心段函數(shù)的全部變量,導(dǎo)致眾核處理器對于函數(shù)的處理效率無法進(jìn)一步提高。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用于眾核處理器的函數(shù)處理方法及系統(tǒng),能夠避免核心段函數(shù)的變量在函數(shù)處理過程中,一直占用局存空間,使局存能夠被不同的核心段函數(shù)所重用,進(jìn)一步提高眾核處理器對于函數(shù)的處理效率。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下方案:
一種用于眾核處理器的函數(shù)處理方法,包括:
獲取核心函數(shù)中需要放置在所述眾核處理器中協(xié)處理器的局存中的變量;
將所述變量封裝成一個(gè)數(shù)據(jù)結(jié)構(gòu)類型;
聲明一個(gè)指針變量,所述指針變量的類型與所述數(shù)據(jù)結(jié)構(gòu)類型相同;
將對局存中的變量的訪問修改為對所述指針變量的訪問。
可選的,將對局存中的變量的訪問修改為對所述指針變量的訪問之后,還包括:
獲取所述局存中的可用的存儲空間首地址;
控制所述指針變量指向所述存儲空間首地址。
可選的,所述獲取核心函數(shù)中需要放置在所述眾核處理器中協(xié)處理器的局存中的變量,包括:
獲取所述核心函數(shù)中的所有變量;
確定所述所有變量的大小以及所述局存的可用空間大小;
判斷所述所有變量的大小是否小于或等于所述局存的可用空間大小;
如果是,則將所有變量確定為需要放置在所述眾核處理器中協(xié)處理器的局存中的變量;
否則,根據(jù)所述核心函數(shù)中對各個(gè)變量的訪問開銷確定需要放置在所述眾核處理器中協(xié)處理器的局存中的變量。
可選的,所述根據(jù)所述核心函數(shù)中對各個(gè)變量的訪問次數(shù)確定需要放置在所述眾核處理器中協(xié)處理器的局存中的變量,包括:
按照訪問開銷由多到少的順序,確定需要放置在所述眾核處理器中協(xié)處理器的局存中的變量,直至已確定的需要放置在所述眾核處理器中協(xié)處理器的局存中的變量的大小之和達(dá)到所述局存的可用存儲空間所能存儲的最大值。
可選的,所述根據(jù)所述核心函數(shù)中對各個(gè)變量的訪問開銷確定需要放置在所述眾核處理器中協(xié)處理器的局存中的變量,包括:
分別判斷對于每個(gè)變量的訪問次數(shù)是否達(dá)到預(yù)設(shè)閾值;
將訪問次數(shù)達(dá)到所述預(yù)設(shè)閾值的變量確定為需要放置在所述眾核處理器中協(xié)處理器的局存中的變量。
一種用于眾核處理器的函數(shù)處理系統(tǒng),包括:
變量獲取單元,用于獲取核心函數(shù)中需要放置在所述眾核處理器中協(xié)處理器的局存中的變量;
變量封裝單元,用于將所述變量封裝成一個(gè)數(shù)據(jù)結(jié)構(gòu)類型;
指針變量聲明單元,用于聲明一個(gè)指針變量,所述指針變量的類型與所述數(shù)據(jù)結(jié)構(gòu)類型相同;
訪問類型修改單元,用于將對局存中的變量的訪問修改為對所述指針變量的訪問。
可選的,還包括:
存儲空間首地址獲取單元,用于獲取所述局存中的可用的存儲空間首地址;
指針變量控制單元,用于控制所述指針變量指向所述存儲空間首地址。
可選的,所述變量獲取單元,包括:
全變量獲取子單元,用于獲取所述核心函數(shù)中的所有變量;
變量空間確定子單元,用于確定所述所有變量的大小以及所述局存的可用空間大小;
第一判斷子單元,用于判斷所述所有變量的大小是否小于或等于所述局存的可用空間大小;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于無錫江南計(jì)算技術(shù)研究所,未經(jīng)無錫江南計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210438263.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)





