[發(fā)明專利]基于GPDSP的大點(diǎn)數(shù)FFT向量化匯編代碼生成方法有效
| 申請(qǐng)?zhí)枺?/td> | 201810530711.8 | 申請(qǐng)日: | 2018-05-29 |
| 公開(公告)號(hào): | CN108776586B | 公開(公告)日: | 2019-05-24 |
| 發(fā)明(設(shè)計(jì))人: | 劉仲;郭陽(yáng);魯建壯;田希;扈嘯;陳海燕;孫永節(jié);陳躍躍;劉勝;吳家鑄;王麗萍 | 申請(qǐng)(專利權(quán))人: | 中國(guó)人民解放軍國(guó)防科技大學(xué) |
| 主分類號(hào): | G06F8/30 | 分類號(hào): | G06F8/30 |
| 代理公司: | 湖南兆弘專利事務(wù)所(普通合伙) 43008 | 代理人: | 周長(zhǎng)清;胡君 |
| 地址: | 410073 湖南*** | 國(guó)省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 匯編代碼 大點(diǎn)數(shù) 框架模板 向量化 構(gòu)建 核心模塊 模塊實(shí)現(xiàn) 生成模塊 自動(dòng)化 靈活 轉(zhuǎn)換 | ||
本發(fā)明公開一種基于GPDSP的大點(diǎn)數(shù)FFT向量化匯編代碼生成方法,步驟包括:S1.構(gòu)建用于實(shí)現(xiàn)不同任務(wù)的多個(gè)核心模塊,各模板包括所需參數(shù)的參數(shù)列表;S2.構(gòu)建大點(diǎn)數(shù)FFT的框架模板,框架模板中分別使用各模塊實(shí)現(xiàn)大點(diǎn)數(shù)FFT計(jì)算;S3.使用預(yù)先構(gòu)建的匯編代碼生成模塊將框架模板中各核心模塊轉(zhuǎn)換為匯編代碼,最終生成所需的大點(diǎn)數(shù)FFT匯編代碼。本發(fā)明具有實(shí)現(xiàn)原理簡(jiǎn)單、操作簡(jiǎn)便、使用靈活、能夠?qū)崿F(xiàn)大點(diǎn)數(shù)FFT向量化匯編代碼的自動(dòng)化生成,且生成效率及性能高等優(yōu)點(diǎn)。
技術(shù)領(lǐng)域
本發(fā)明涉及GPDSP(General-Purpose Digital Signal Processor,通用計(jì)算數(shù)字信號(hào)處理器)技術(shù)領(lǐng)域,尤其涉及一種基于GPDSP的大點(diǎn)數(shù)FFT向量化匯編代碼生成方法。
背景技術(shù)
離散傅里葉變換(Discrete Fourier Transform,DFT)在現(xiàn)代信號(hào)處理系統(tǒng)領(lǐng)域里應(yīng)用廣泛,是典型的計(jì)算密集和訪存密集型應(yīng)用,例如N點(diǎn)的DFT變換的計(jì)算復(fù)雜度為 o(N2)。1965 年Cooley 和Turkey 提出一種快速傅立葉變換(Fast Fourier Transform,F(xiàn)FT)計(jì)算方法,可顯著地減少運(yùn)算量,計(jì)算復(fù)雜度由原來(lái)的o(N2)降到o(Nlog2N)。
現(xiàn)有的數(shù)值軟件代碼的性能在很大程度上取決于平臺(tái)的存儲(chǔ)層次結(jié)構(gòu)、處理器提供的特殊指令(特別是向量指令)的使用等,而這些往往與處理器的微體系結(jié)構(gòu)特性息息相關(guān),更為重要的問題是,不同的平臺(tái)之間的特性差異很大,使得最優(yōu)化的代碼會(huì)嚴(yán)重依賴于平臺(tái)。因此一個(gè)合理的實(shí)現(xiàn)和最好的實(shí)現(xiàn)之間的性能差距越來(lái)越大,如在Pentium4上實(shí)現(xiàn)的離散傅立葉變換代碼,GNU科學(xué)庫(kù)和英特爾供應(yīng)商的IPP庫(kù)的運(yùn)行性能差距達(dá)一個(gè)數(shù)量級(jí)以上,后者主要是手工編寫和調(diào)優(yōu)的匯編代碼,而新平臺(tái)的發(fā)布使得手工編寫的代碼需要重新實(shí)現(xiàn)和優(yōu)化,這仍然需要耗費(fèi)大量的工作量,復(fù)雜度及成本高。
雖然從理論上來(lái)說(shuō)編譯器是實(shí)現(xiàn)優(yōu)化性能最理想的解決方案,因?yàn)樵创a并不需要重新編寫,但是編譯器的技術(shù)進(jìn)步趕不上硬件的發(fā)展速度,即使是簡(jiǎn)單的計(jì)算問題,使用編譯器往往只能產(chǎn)生低效率的代碼,存在上述問題主要有兩個(gè):其一是缺乏可靠的程序優(yōu)化技術(shù),當(dāng)前日益復(fù)雜的機(jī)器也使這一問題進(jìn)一步惡化,雖然編譯器通常可以采用許多不同的方式轉(zhuǎn)換代碼段,但是沒有能夠保證成功的最優(yōu)化的方法;其二是很多重要的性能改進(jìn)都是從算法變換中獲得,而這超越了當(dāng)前編譯器所能夠達(dá)到的能力,大量算法變換依賴于算法的信息,而這些信息很難從一個(gè)高層次的語(yǔ)言中提取。
GPDSP作為一種異構(gòu)多核處理器,它包含CPU核單元和DSP核單元,其中CPU核單元主要用于負(fù)責(zé)包括存儲(chǔ)管理、文件控制、進(jìn)程調(diào)度、中斷管理任務(wù)在內(nèi)的通用事務(wù)管理以及提供對(duì)通用操作系統(tǒng)的完整支持;DSP核單元包含若干具有強(qiáng)大計(jì)算能力的64位向量處理陣列,用于支持高密集運(yùn)算任務(wù)的解算,DSP核包含標(biāo)、向量寄存器文件,標(biāo)量L1D、向量陣列存儲(chǔ)、片內(nèi)共享存儲(chǔ)以及外部DDR存儲(chǔ)等復(fù)雜的多級(jí)存儲(chǔ)結(jié)構(gòu)。而復(fù)雜的體系結(jié)構(gòu)對(duì)高效代碼的生成帶來(lái)巨大的挑戰(zhàn),通過編譯器產(chǎn)生的庫(kù)函數(shù)匯編代碼很難實(shí)現(xiàn)各級(jí)存儲(chǔ)間的高效數(shù)據(jù)訪問和傳遞,傳統(tǒng)的面向Cache結(jié)構(gòu)的分塊矩陣乘法方法也不適合GPDSP的非Cache的向量陣列存儲(chǔ)訪存模式和向量處理陣列并發(fā)向量處理的體系結(jié)構(gòu)特征,難以發(fā)揮GPDSP向量計(jì)算優(yōu)勢(shì)。
目前對(duì)實(shí)時(shí)性要求高的應(yīng)用系統(tǒng)所調(diào)用的高性能庫(kù)函數(shù),通常都是用手工匯編精心優(yōu)化,如何針對(duì)GPDSP復(fù)雜的體系結(jié)構(gòu)特征快速生成高效的庫(kù)函數(shù)匯編代碼是當(dāng)前面臨的一個(gè)巨大挑戰(zhàn),而其中基于GPDSP架構(gòu)實(shí)現(xiàn)大點(diǎn)數(shù)FFT向量化匯編代碼生成是亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題就在于:針對(duì)現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一種具有實(shí)現(xiàn)原理簡(jiǎn)單、操作簡(jiǎn)便、使用靈活、能夠?qū)崿F(xiàn)代碼自動(dòng)化生成,且生成效率及性能高的基于GPDSP的大點(diǎn)數(shù)FFT向量化匯編代碼生成方法。
為解決上述技術(shù)問題,本發(fā)明提出的技術(shù)方案為:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)人民解放軍國(guó)防科技大學(xué),未經(jīng)中國(guó)人民解放軍國(guó)防科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810530711.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種熱敏打印機(jī)分段驅(qū)動(dòng)打印方法及系統(tǒng)
- 時(shí)間粗同步和頻率精同步的時(shí)域聯(lián)合估計(jì)方法
- OFDM幀同步、頻率同步、符號(hào)細(xì)同步的時(shí)域聯(lián)合估計(jì)方法
- LTE系統(tǒng)DFT/IDFT旋轉(zhuǎn)因子控制方法、裝置及DFT/IDFT運(yùn)算裝置
- 用于基于大點(diǎn)數(shù)傅里葉變換實(shí)現(xiàn)信號(hào)處理的方法和設(shè)備
- 一種負(fù)載預(yù)測(cè)方法及裝置
- 一種基于SMP的足球機(jī)器人超大點(diǎn)數(shù)FFT算法
- 基于GPDSP的大點(diǎn)數(shù)FFT向量化匯編代碼生成方法
- 一種四核并行的大點(diǎn)數(shù)脈壓數(shù)據(jù)處理方法
- 多通道大點(diǎn)數(shù)并行脈壓獲取系統(tǒng)及方法
- 一種適用于大規(guī)模并行軟件GTC的核心模塊Pushe的高效向量化方法
- 基于混合向量量化的最近鄰搜索方法
- 向量化處理數(shù)據(jù)的方法及裝置
- 特征向量的量化方法、檢索方法、裝置及存儲(chǔ)介質(zhì)
- 用于濾波器組多載波調(diào)制光通信系統(tǒng)的K-means非均勻量化算法
- 輿情事件處理方法、裝置、處理設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)處理的方法、裝置和系統(tǒng)
- 向量信息存儲(chǔ)及更新的方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種未登錄詞進(jìn)行向量化的方法和裝置
- 一種生成向量化程序的方法及裝置





