LibreOffice軟件中電子表格組件GPU協處理模塊的設計與實現
本文關鍵詞:LibreOffice軟件中電子表格組件GPU協處理模塊的設計與實現
更多相關文章: 并行計算 GPU協處理 動態(tài)kernel 函數優(yōu)化
【摘要】:隨著軟件行業(yè)的發(fā)展,辦公軟件受到越來越多的關注,其中電子表格計算組件因其強大的計算功能,普遍應用到各行各業(yè)中。然而,目前辦公軟件只在CPU上運行,CPU計算電子表格的主要方式是串行計算,適用于小量數據計算,但無法滿足大量數據的高并行計算,對于科研、統計、銷售,尤其是各個領域數據庫的大量計算,單純使用CPU非常耗時。而異構計算作為半導體行業(yè)的熱門詞匯,近年來受到了越來越多的關注。隨著用戶對電子表格組件計算要求的提高,對處理運算的性能越來越關注,原先只使用CPU處理已經遠遠不能滿足性能需要,因此項目組提出了GPU協處理電子表格組件的需求。 論文分析了GPU設備和CPU的結構差異以及各自的優(yōu)缺點,在辦公軟件LibreOffice的電子表格組件Calc上設計了GPU協處理模塊,將原本在CPU上運行效率低下的高并行計算移到GPU設備上執(zhí)行,用戶可以通過選擇使用CPU或者GPU設備處理數據。針對OpenCL實時動態(tài)編譯的特性,設計實現了動態(tài)kernel結構,使復合函數能夠被動態(tài)拼成可被GPU設備執(zhí)行的字符串代碼,在性能上大大提高了運算效率。同時,對常用各類函數進行了具體優(yōu)化,根據GPU硬件并行特性以及函數自身算法優(yōu)化,不斷測試加以改進,最終達到了理想的運行效果。 本文使用C++語言設計實現GPU協處理模塊,在設計上主要有兩大部分,一部分是動態(tài)kernel設計技術,另一部分是函數優(yōu)化。在動態(tài)kernel設計中,,OpenCL接口設計使得CPU能向GPU設備發(fā)送命令。函數組判斷設計能夠獲取具有相同公式的多組數據,使得GPU設備能夠并行計算。公式轉換能夠把字符串公式轉換為RPN表達式,用于后續(xù)解析。函數映射是將公式中的操作符與模塊已有的函數代碼對應,以便按順序拼接kernel字符串。在執(zhí)行計算時,使用CPU串行計算能夠直接得到結果,而使用GPU協處理模塊,則先動態(tài)拼接成kernel字符串,經過OpenCL編譯后發(fā)送到GPU設備計算并返回結果。與CPU計算相比,GPU協處理更適合高并行計算。函數優(yōu)化首先介紹了常用優(yōu)化方式,其中算法優(yōu)化是效率最高的方法。將函數按照使用方式分類,根據GPU硬件并行特性和函數本身算法特點優(yōu)化,重點介紹了財務函數和數學函數并舉例說明。經過測試,所優(yōu)化的函數均達到了滿意的效果。
【學位授予單位】:哈爾濱工業(yè)大學
【學位級別】:碩士
【學位授予年份】:2014
【分類號】:TP332
【參考文獻】
中國期刊全文數據庫 前10條
1 范興山;彭軍;黃樂天;;基于OpenCL的FPGA設計優(yōu)化方法研究[J];電子技術應用;2014年01期
2 劉兆春,李光輝,王慶國,柴守海;并行文件系統PVFS[J];信息技術;2005年04期
3 袁修國;彭國華;王琳;;基于GPU的變型SIFT算子實時圖像配準[J];計算機科學;2011年03期
4 田文;徐帆;王宏遠;周波;;基于CUDA的尺度不變特征變換快速算法[J];計算機工程;2010年08期
5 吳恩華,柳有權;基于圖形處理器(GPU)的通用計算[J];計算機輔助設計與圖形學學報;2004年05期
6 周季夫;鐘誠文;尹世群;解建飛;張勇;;基于GPGPU的Lattice-Boltzmann數值模擬算法[J];計算機輔助設計與圖形學學報;2008年07期
7 韓博;周秉鋒;;GPGPU性能模型及應用實例分析[J];計算機輔助設計與圖形學學報;2009年09期
8 陳鋼;吳百鋒;;面向OpenCL模型的GPU性能優(yōu)化[J];計算機輔助設計與圖形學學報;2011年04期
9 李焱;張云泉;王可;趙美超;;異構平臺上基于OpenCL的FFT實現與優(yōu)化[J];計算機科學;2011年08期
10 宮學慶;金澈清;王曉玲;張蓉;周傲英;;數據密集型科學與工程:需求和挑戰(zhàn)[J];計算機學報;2012年08期
本文編號:1143699
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/1143699.html