版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
基于GPU的JPEG2000高速圖像解壓縮系統(tǒng)研究專業(yè)名稱:通信與信息系統(tǒng)
姓名:楊國鵬
學號:1101120210
指導教師:李云松教授緒論JPEG2000靜止圖像壓縮系統(tǒng)介紹GPU硬件架構(gòu)及CUDA編程介紹解碼軟件系統(tǒng)的設計與實現(xiàn)解碼軟件系統(tǒng)的測試與分析總結(jié)與展望內(nèi)容提要緒論選題背景近年來,圖像壓縮芯片發(fā)展迅速,目前應用于航天航空領域的圖像壓縮芯片每秒可以輸出數(shù)十兆的壓縮碼流。為了能實時恢復圖像,地面接收站通常是采用多臺服務器同時解碼來完成。但是,這種方式需要專門的機房,占用空間多且耗電量大。近年來,GPU在高性能并行計算領域發(fā)展迅速,因此考慮用GPU實現(xiàn)。緒論GPU與CPU的計算能力比較緒論GPU與CPU的存儲帶寬緒論選題意義因此,采用GPU解碼,實現(xiàn)高速解壓縮所需的硬件資源將大大減少,進而占用的空間也將大大減少,實現(xiàn)了輕便化。JPEG2000靜止圖像壓縮系統(tǒng)JPEG2000編解碼系統(tǒng)結(jié)構(gòu)GPU硬件架構(gòu)GPU的硬件架構(gòu)是一種兩層結(jié)構(gòu),通常一塊顯卡由多個流處理器SM組成,各SM相互獨立。每個SM都由指令緩存、指令分發(fā)和調(diào)度單元、流處理器SP、特殊功能單元SFU、雙精度處理單元DFU和共享存儲器等組成。SM之間通過全局存儲器通信。一個SM中包含多個SP,每個SP都有一個32bit的算術邏輯單元和一個乘加器。SP是SM中的主要運算單元。GPU硬件架構(gòu)及CUDA編程Fermi架構(gòu)SM結(jié)構(gòu)圖GPU硬件架構(gòu)及CUDA編程CUDA編程CUDA編程也是兩層結(jié)構(gòu)。運行在GPU上的函數(shù)稱為kernel。GPU以線程網(wǎng)格Grid的形式組織線程,Grid由多個線程塊block組成,每個block由多個線程thread組成。每個線程都會執(zhí)行kernel函數(shù),并且每個線程都有自己的block和thread標示號。對于tid=(blockIdx.y*gridDim.x+blockIdx.x)*blockDim.x*blockDim.y+(threadIdx.y*blockDim.x+threadIdx.x)這個式子,每個線程會得到一個不同的tid值。對于A[tid]=A[tid]+8,可實現(xiàn)單指令多線程的處理方式。GPU硬件架構(gòu)及CUDA編程Grid結(jié)構(gòu)GPU硬件架構(gòu)及CUDA編程GPU軟硬件結(jié)合在執(zhí)行時,block被平均分發(fā)到SM上。一個SM上可以執(zhí)行多個block,各block是相互獨立;當SM在執(zhí)行其中一個block時,其它block處于準備狀態(tài),當正在執(zhí)行的block執(zhí)行高延遲的操作時,SM可以切換執(zhí)行另外一個block,可以有效地隱藏流水線延遲。Block中的線程被分發(fā)給SM中的SP去執(zhí)行。硬件結(jié)構(gòu)和軟件編程的配合,實現(xiàn)了GPU較高的并行計算能力。GPU硬件架構(gòu)及CUDA編程解碼系統(tǒng)框架解碼軟件系統(tǒng)的設計與實現(xiàn)
解碼服務器上有6塊高性能顯卡,每個顯卡都可以獨立地完成解碼,可以根據(jù)需要的解碼速度,啟動相應數(shù)量的顯卡。碼流發(fā)送客戶端可以通過網(wǎng)絡向解碼服務器提供JPEG2000壓縮碼流,因此解碼服務器可以解遠程碼流。圖像顯示客戶端的功能是顯示解碼服務器恢復后的圖像數(shù)據(jù)。JPEG2000壓縮碼流在單GPU上的實現(xiàn)反量化和后處理對每個像素點都是做同樣的操作,只是操作數(shù)不同,可并行度特別高,所以grid結(jié)構(gòu)設計為多個block,每個block處理一行,block里的各線程處理對應行中的像素點。在JPEG2000中,二維圖像的離散小波變換采用Mallat分解結(jié)構(gòu),先按行進行水平方向的一維小波變換,再按列進行垂直方向的一維小波變換。解碼是壓縮的逆過程。由于按行進行變換時,各行可以同時進行變換,按列進行變換時,各列也可以同時進行變換。所以grid結(jié)構(gòu)設計為多個block,每個block處理一行,block里的各線程處理對應行中的像素點。解碼軟件系統(tǒng)的設計與實現(xiàn)
在進行小波變換時,數(shù)據(jù)時按行存儲在全局存儲器中,因此在進行行處理時,block中的各線程訪問的數(shù)據(jù)是連續(xù)的,通過合并訪問,通過一次讀取全局存儲器就可以得到所需要的數(shù)據(jù)。在進行列處理時,各線程訪問的數(shù)據(jù)不連續(xù),無法使用合并訪問,訪問數(shù)據(jù)速度很慢。為了加快速度,可以借助共享存儲器使用矩陣轉(zhuǎn)置,把列轉(zhuǎn)為行,這樣就可以連續(xù)訪問。解碼軟件系統(tǒng)的設計與實現(xiàn)
矩陣轉(zhuǎn)置解碼軟件系統(tǒng)的設計與實現(xiàn)
JPEG2000解碼在單個GPU上的并行架構(gòu)解碼軟件系統(tǒng)的設計與實現(xiàn)
多GPU聯(lián)合解碼單個GPU的解碼方式,解碼速度已經(jīng)提高了很多,但有時需要更高的解碼速度,這時就需要多個GPU聯(lián)合解碼。在CPU上分配多個線程:分配一個CPU線程專門負責將n幅圖像的壓縮碼流組織在一起,把該線程稱為寫碼流線程;分配一個CPU線程專門負責將恢復后的圖像數(shù)據(jù)存盤,把該線程稱為寫文件線程;為每個GPU分配一個CPU線程,該CPU線程使用cudaSetDevice()函數(shù)啟動自己負責的顯卡,把該線程稱為解碼線程。定義了幾塊內(nèi)存空間,每塊內(nèi)存空間用于一組n幅圖像的解碼,并且定義三個隊列——等待寫碼流隊列、等待解碼隊列以及等待寫文件隊列。解碼軟件系統(tǒng)的設計與實現(xiàn)
內(nèi)存塊地址的流轉(zhuǎn)解碼軟件系統(tǒng)的設計與實現(xiàn)
碼流發(fā)送模塊碼流發(fā)送端通過網(wǎng)絡給解碼服務器發(fā)送碼流,因此解碼服務器可以解遠程碼流。給碼流發(fā)送端做了一個簡單的界面,界面采用wxWidgets語言開發(fā)。解碼軟件系統(tǒng)的設計與實現(xiàn)
圖像顯示模塊顯示模塊提供顯示功能,顯示恢復后的圖像數(shù)據(jù)。服務器跟顯示客戶端的通信通過網(wǎng)絡實現(xiàn)。解碼軟件系統(tǒng)的設計與實現(xiàn)
在菜單欄包含“文件”、“工具”和“幫助”三個菜單命令?!拔募卑按蜷_”和“退出”,“打開”可以靜態(tài)地顯示本地的圖像,“退出”用于退出界面。“幫助”顯示幫助信息?!肮ぞ摺卑皡?shù)設置”、“開始”、“暫?!焙汀巴V埂薄=獯a軟件系統(tǒng)的設計與實現(xiàn)
解碼服務器硬件平臺:CPU:兩個6核cpu,軟硬件配置:解碼軟件系統(tǒng)的測試與分析
型號主頻緩存內(nèi)存硬盤操作系統(tǒng)Inter?Xeon?E56452400.144GHz12288KB40GB1.8TBCentOS64bitGPU:6塊C2075顯卡,軟硬件配置:顯卡名稱C2075CUDA驅(qū)動版本/運行版本4.0/4.0計算能力2全局存儲器5GB多處理器
xCUDACores/多處理器14*32CUDACoresGPU時鐘頻率1.15GHz共享內(nèi)存/多處理器49152Bytes單GPU解碼速度測試:28幅2048*1024圖像,8bit、12bit、16bit,LeGall(5,3)無損壓縮,Dauhechies(9,7)2倍和4倍壓縮。解碼軟件系統(tǒng)的測試與分析
碼流大小(MB)t2(ms)t1(ms)反量化+小波+電平位移(ms)Total(ms)解碼速度
(M像素點/s)解碼速度(MB/s)8bit_53無損27.246.02773.3873.45974.5457.4627.918bit_97二倍28.346.28844.18113.071070.1952.3326.448bit_97四倍14.243.88588.18113.40823.4568.0117.2412bit_53無損53.949.201138.1973.331323.6142.3140.7212bit_97二倍41.647.761032.35113.691260.2644.4433.0112bit_97四倍21.245.68769.86113.701001.7655.9021.1616bit_53無損59.651.161310.8573.191501.5537.2939.6916bit_97二倍41.147.841044.41113.291272.2844.0232.3016bit_97四倍28.246.39891.36113.601127.8549.6525.00單GPU解碼速度測試結(jié)果分析:解碼速度(M像素點/s)指的是用28圖像總的像素點除以Total的時間,反映的是像素點的吞吐率;解碼速度(MB/s)指的是用28幅圖像碼流的大小除以Total的時間,反映的是壓縮碼流的吞吐率。從每秒解多少像素點來反映解碼速度,可以看出壓縮倍數(shù)高,解碼速度快;比特精度越小,解碼速度越高。從每秒解多少字節(jié)的壓縮碼流來反映解碼速度,可以看出對于同樣寬度和高度的圖像,壓縮倍數(shù)小和比特精度高,碼流吞吐率高。解碼軟件系統(tǒng)的測試與分析
多GPU解碼速度測試:多幅28幅2048*1024圖像,8bit、12bit、16bit,LeGall(5,3)無損壓縮,Dauhechies(9,7)2倍和4倍壓縮。不存儲恢復圖像數(shù)據(jù)。不同GPU的解碼速度:解碼軟件系統(tǒng)的測試與分析
1個GPU2個GPU3個GPU4個GPU5個GPU6個GPU8bit_53無損58.17112.07166.79217.13275.64309.508bit_97二倍52.6599.54153.75197.43246.16281.348bit_97四倍69.27128.46191.69258.18316.40333.7912bit_53無損41.7483.08123.33162.83191.61228.2912bit_97二倍44.2586.44127.36168.19207.01241.6112bit_97四倍56.95107.23163.54209.98258.20296.0016bit_53無損36.8472.27104.75138.14170.88196.6416bit_97二倍43.9686.39126.92169.24204.01239.6216bit_97四倍49.6995.98142.34185.01231.31262.43解碼軟件系統(tǒng)的測試與分析
不同GPU相比于單GPU的解碼倍數(shù)1個GPU2個GPU3個GPU4個GPU5個GPU6個GPU8bit_53無損1.001.932.873.734.745.328bit_97二倍1.001.892.923.754.685.348bit_97四倍1.001.852.773.734.574.8212bit_53無損1.001.992.953.904.595.4712bit_97二倍1.001.952.883.804.685.4612bit_97四倍1.001.882.873.694.535.2016bit_53無損1.001.962.843.754.645.3416bit_97二倍1.001.972.893.854.645.4516bit_97四倍1.001.932.863.724.665.28在GPU數(shù)量為2、3、4時,解碼倍數(shù)是2、3、4倍;在GPU數(shù)量為5時,對比1個GPU,解碼倍數(shù)在4.5到4.7倍之間;在GPU數(shù)量為6時,對比1個GPU,解碼倍數(shù)在5.5倍之下。由于內(nèi)存塊的數(shù)目都是10,當GPU數(shù)目較多,對于內(nèi)存塊的競爭比較激烈,所以在4個GPU的基礎上,再往上增加1個GPU,解碼速度增加的幅度有所減少。解碼軟件系統(tǒng)的測試與分析
6個GPU,不存儲恢復圖像與存儲恢復圖像的速度比較不存儲恢復圖像數(shù)據(jù)存儲恢復圖像數(shù)據(jù)8bit_53無損309.50273.028bit_97二倍281.34252.418bit_97四倍333.79285.2316bit_53無損196.64145.2516bit_97二倍239.62135.8916bit_97四倍262.43148.93測試固態(tài)硬盤的寫文件速度,得出結(jié)果:寫文件速度在300MB/s到350MB/s之間,這個速度限制了6個GPU的解碼速度。解碼軟件系統(tǒng)的測試與分析
CPU與GPU解碼速度的比較CPU:Inter?Core?2DuoCPUE7500@2.93GHz,內(nèi)存2.00GBGPU:C2075測試碼流:2048*1024圖像,8bit、16bit,LeGall(5,3)無損壓縮,Dauhechies(9,7)2倍和4倍壓縮。CPU單幅圖像解碼時間(ms)CPU解碼速度1個GPU解碼速度GPU/CPU8bit_53無損858.82.3357.4624.678bit_97二倍1927.21.0452.335
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年帶電作業(yè)技術會議:配網(wǎng)低壓不停電作業(yè)的“機智”升級
- 2025年電解鋁行業(yè)運行研究報告
- 2025年MODULE-COG檢測系統(tǒng)項目合作計劃書
- 術后并發(fā)癥管理護理查房
- 低血糖的飲食建議
- 2025年血橙提取物化妝品項目發(fā)展計劃
- 護理隨訪流程與規(guī)范
- 咯血介入治療患者的營養(yǎng)支持護理
- 護理中的護理風險管理與不良事件處理
- 母嬰護理基礎知識和技巧大全
- 教學查房課件-強直性脊柱炎
- 傳染病報告卡
- 句法成分課件(共18張)統(tǒng)編版語文八年級上冊
- 2023版中國近現(xiàn)代史綱要課件:07第七專題 星星之火可以燎原
- 通知書產(chǎn)品升級通知怎么寫
- 氣管插管術 氣管插管術
- 大學《實驗診斷學》實驗八:病例分析培訓課件
- GB/T 28400-2012釹鎂合金
- 多維閱讀第8級Moon Mouse 明星老鼠的秘密
- 骨髓增生異常綜合癥課件整理
- 心肌梗死院前急救課件
評論
0/150
提交評論