LibreOffice软件中电子表格组件GPU协处理模块的设计与实现
本文关键词:LibreOffice软件中电子表格组件GPU协处理模块的设计与实现
更多相关文章: 并行计算 GPU协处理 动态kernel 函数优化
【摘要】:随着软件行业的发展,办公软件受到越来越多的关注,其中电子表格计算组件因其强大的计算功能,普遍应用到各行各业中。然而,目前办公软件只在CPU上运行,CPU计算电子表格的主要方式是串行计算,适用于小量数据计算,但无法满足大量数据的高并行计算,对于科研、统计、销售,尤其是各个领域数据库的大量计算,单纯使用CPU非常耗时。而异构计算作为半导体行业的热门词汇,近年来受到了越来越多的关注。随着用户对电子表格组件计算要求的提高,对处理运算的性能越来越关注,原先只使用CPU处理已经远远不能满足性能需要,因此项目组提出了GPU协处理电子表格组件的需求。 论文分析了GPU设备和CPU的结构差异以及各自的优缺点,在办公软件LibreOffice的电子表格组件Calc上设计了GPU协处理模块,将原本在CPU上运行效率低下的高并行计算移到GPU设备上执行,用户可以通过选择使用CPU或者GPU设备处理数据。针对OpenCL实时动态编译的特性,设计实现了动态kernel结构,使复合函数能够被动态拼成可被GPU设备执行的字符串代码,在性能上大大提高了运算效率。同时,对常用各类函数进行了具体优化,根据GPU硬件并行特性以及函数自身算法优化,不断测试加以改进,最终达到了理想的运行效果。 本文使用C++语言设计实现GPU协处理模块,在设计上主要有两大部分,一部分是动态kernel设计技术,另一部分是函数优化。在动态kernel设计中,,OpenCL接口设计使得CPU能向GPU设备发送命令。函数组判断设计能够获取具有相同公式的多组数据,使得GPU设备能够并行计算。公式转换能够把字符串公式转换为RPN表达式,用于后续解析。函数映射是将公式中的操作符与模块已有的函数代码对应,以便按顺序拼接kernel字符串。在执行计算时,使用CPU串行计算能够直接得到结果,而使用GPU协处理模块,则先动态拼接成kernel字符串,经过OpenCL编译后发送到GPU设备计算并返回结果。与CPU计算相比,GPU协处理更适合高并行计算。函数优化首先介绍了常用优化方式,其中算法优化是效率最高的方法。将函数按照使用方式分类,根据GPU硬件并行特性和函数本身算法特点优化,重点介绍了财务函数和数学函数并举例说明。经过测试,所优化的函数均达到了满意的效果。
【学位授予单位】:哈尔滨工业大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP332
【参考文献】
中国期刊全文数据库 前10条
1 范兴山;彭军;黄乐天;;基于OpenCL的FPGA设计优化方法研究[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性能优化[J];计算机辅助设计与图形学学报;2011年04期
9 李焱;张云泉;王可;赵美超;;异构平台上基于OpenCL的FFT实现与优化[J];计算机科学;2011年08期
10 宫学庆;金澈清;王晓玲;张蓉;周傲英;;数据密集型科学与工程:需求和挑战[J];计算机学报;2012年08期
本文编号:1143699
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1143699.html