[發(fā)明專(zhuān)利]一種快速開(kāi)發(fā)CUDA并行程序的方法在審
| 申請(qǐng)?zhí)枺?/td> | 201310725876.8 | 申請(qǐng)日: | 2013-12-25 |
| 公開(kāi)(公告)號(hào): | CN103729180A | 公開(kāi)(公告)日: | 2014-04-16 |
| 發(fā)明(設(shè)計(jì))人: | 張廣勇;盧曉偉;沈鉑;吳韶華;張清 | 申請(qǐng)(專(zhuān)利權(quán))人: | 浪潮電子信息產(chǎn)業(yè)股份有限公司 |
| 主分類(lèi)號(hào): | G06F9/44 | 分類(lèi)號(hào): | G06F9/44;G06F11/36 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 250014 山東*** | 國(guó)省代碼: | 山東;37 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 快速 開(kāi)發(fā) cuda 并行 程序 方法 | ||
1.一種快速開(kāi)發(fā)CUDA并行程序的方法,其特征在于其具體操作過(guò)程為:
步驟一、CPU串行程序修改,即按CUDA程序格式要求對(duì)CPU串行程序的分析和修改,其中
1.1)CPU串行程序分析具體包括:利用打印時(shí)間方式測(cè)試串行程序中的熱點(diǎn)模塊;根據(jù)算法特點(diǎn)和數(shù)據(jù)特點(diǎn)分析熱點(diǎn)模塊是否可以并行,是否可以采用CUDA細(xì)粒度并行;根據(jù)可并行的模塊,找到CUDA內(nèi)核將會(huì)使用到的數(shù)組,并對(duì)數(shù)組結(jié)構(gòu)進(jìn)行分析;
1.2)仿CUDA格式的CPU串行程序修改,具體包括:原程序算法修改,修改成可并行的代碼;數(shù)組修改,修改成適合CUDA并行程序格式的數(shù)組形式;
步驟二、CUDA并行程序移植,即設(shè)計(jì)CUDA并行程序把CPU程序移植到GPU平臺(tái),以及CUDA并行程序的優(yōu)化,其中
2.1)設(shè)計(jì)CUDA并行程序具體包括:線程塊、網(wǎng)格的設(shè)計(jì),用于數(shù)據(jù)的劃分和內(nèi)核的計(jì)算;通信函數(shù)的實(shí)現(xiàn),用于進(jìn)行CPU與GPU之間的數(shù)據(jù)傳遞;內(nèi)核的設(shè)計(jì),實(shí)現(xiàn)CUDA并行加速熱點(diǎn)模塊;
2.2)所述優(yōu)化CUDA并行程序,具體包括:將上述CUDA并行程序利用優(yōu)化技術(shù)進(jìn)一步提高并行程序的性能,主要優(yōu)化包括2個(gè)方面:通信優(yōu)化和內(nèi)核優(yōu)化。
2.根據(jù)權(quán)利要求1所述的一種快速開(kāi)發(fā)CUDA并行程序的方法,其特征在于:所述步驟1.1)的詳細(xì)過(guò)程為:
熱點(diǎn)測(cè)試是指根據(jù)時(shí)間的測(cè)試結(jié)果確定熱點(diǎn)函數(shù),作為后面移植的重點(diǎn)代碼模塊;
找出熱點(diǎn)代碼后,需要分析熱點(diǎn)部分的算法、數(shù)據(jù)特點(diǎn),根據(jù)算法和數(shù)據(jù)的特點(diǎn)分析其是否可以并行,是否可以采用CUDA細(xì)粒度并行,確定其并行性;
根據(jù)對(duì)串行程序的分析,確定哪些模塊需要移植到GPU平臺(tái)上運(yùn)行,對(duì)于需要運(yùn)行上GPU平臺(tái)上的代碼內(nèi)的數(shù)據(jù)進(jìn)行分析,確定數(shù)組在代碼中的什么位置傳遞到CUDA內(nèi)核中,傳遞的方向是CPUtoGPU還是GPUtoCPU,以及每次傳遞時(shí)的數(shù)據(jù)大小等信息。
3.根據(jù)權(quán)利要求1或2所述的一種快速開(kāi)發(fā)CUDA并行程序的方法,其特征在于:所述步驟1.2)的詳細(xì)過(guò)程為:
對(duì)于CPU串行程序,根據(jù)并行算法的要求修改原程序,改成可并行的模式;同時(shí)需要重新設(shè)計(jì)并行算法;
根據(jù)CUDA并行程序?qū)?shù)組格式的要求對(duì)串行程序中的數(shù)組進(jìn)行修改,進(jìn)而將對(duì)原CPU程序修改成一個(gè)仿CUDA格式的CPU串行程序。
4.根據(jù)權(quán)利要求3所述的一種快速開(kāi)發(fā)CUDA并行程序的方法,其特征在于:所述步驟2.1)的詳細(xì)過(guò)程為:
GPU數(shù)組設(shè)計(jì)、并行模型設(shè)計(jì):設(shè)計(jì)GPU端數(shù)組,設(shè)計(jì)數(shù)組大小、類(lèi)型;設(shè)計(jì)CUDA程序的線程并行模型:block和grid;
根據(jù)對(duì)原程序數(shù)組的分析,把CPU串行程序移植到GPU平臺(tái),根據(jù)熱點(diǎn)模塊的算法和代碼實(shí)現(xiàn)CUDA內(nèi)核代碼。
5.根據(jù)權(quán)利要求4所述的一種快速開(kāi)發(fā)CUDA并行程序的方法,其特征在于:所述步驟2.2)的詳細(xì)過(guò)程為:
CPU與GPU通信優(yōu)化,利用異步技術(shù)減少CPU和GPU之間通信的時(shí)間;CUDA內(nèi)核優(yōu)化,利用全局存儲(chǔ)器合并訪問(wèn)、共享存儲(chǔ)器、常量存儲(chǔ)器、紋理存儲(chǔ)器手段提高訪存速度,利用指令流提高計(jì)算手段優(yōu)化CUDA內(nèi)核。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于浪潮電子信息產(chǎn)業(yè)股份有限公司,未經(jīng)浪潮電子信息產(chǎn)業(yè)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310725876.8/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:一種甘草哈密瓜果脯的制作方法
- 下一篇:一種多功能移動(dòng)黑板
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 商品開(kāi)發(fā)方法、商品開(kāi)發(fā)系統(tǒng)、商品開(kāi)發(fā)程序以及存儲(chǔ)商品開(kāi)發(fā)程序的存儲(chǔ)介質(zhì)
- 開(kāi)發(fā)支援裝置和開(kāi)發(fā)支援程序
- 用于web開(kāi)發(fā)系統(tǒng)的開(kāi)發(fā)方法和web開(kāi)發(fā)系統(tǒng)
- 控制裝置、開(kāi)發(fā)裝置、以及開(kāi)發(fā)程序
- 系統(tǒng)開(kāi)發(fā)裝置、程序開(kāi)發(fā)方法及開(kāi)發(fā)程序
- 軟件開(kāi)發(fā)平臺(tái)及其開(kāi)發(fā)方法
- 菜譜開(kāi)發(fā)方法和菜譜開(kāi)發(fā)系統(tǒng)
- EasyApp移動(dòng)開(kāi)發(fā)平臺(tái)和開(kāi)發(fā)方法
- 開(kāi)發(fā)支援裝置、開(kāi)發(fā)支援方法以及存儲(chǔ)介質(zhì)
- 開(kāi)發(fā)輔助裝置、開(kāi)發(fā)輔助系統(tǒng)和開(kāi)發(fā)輔助方法
- 一種CUDA環(huán)形網(wǎng)絡(luò)與H265協(xié)議互連的方法
- 一種提高計(jì)算機(jī)并行計(jì)算編程自動(dòng)化程度的方法
- 一種基于CUDA實(shí)現(xiàn)聚類(lèi)的方法及裝置
- CUDA高性能SAR信號(hào)處理裝置
- 無(wú)線數(shù)據(jù)分析方法、裝置及CUDA實(shí)體
- 基于Docker原生CentOS的CUDA的安裝方法、裝置及設(shè)備
- 一種面向GPU計(jì)算性能問(wèn)題的溯源方法
- 一種高性能的帶權(quán)標(biāo)準(zhǔn)差背景建模方法
- 一種編程語(yǔ)言的轉(zhuǎn)換方法及系統(tǒng)
- CUDA程序移植方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議設(shè)備的數(shù)據(jù)并行采集歸并方法及系統(tǒng)
- 減少EMI的并行數(shù)據(jù)傳輸方法
- 一種多媒體數(shù)據(jù)并行處理系統(tǒng)及方法
- 一種高速并行OQPSK解調(diào)時(shí)鐘的恢復(fù)系統(tǒng)
- 一種海量地震數(shù)據(jù)并行抽道集方法
- 3G協(xié)議的turbo碼并行譯碼方法及裝置
- 并行擴(kuò)展輸入輸出的教學(xué)裝置
- 數(shù)據(jù)的并行處理
- 并行式插件機(jī)
- 一種SPI總線與并行總線的橋接方法、設(shè)備、系統(tǒng)及介質(zhì)





