首页> 中文学位 >LibreOffice软件中电子表格组件GPU协处理模块的设计与实现
【6h】

LibreOffice软件中电子表格组件GPU协处理模块的设计与实现

代理获取

目录

封面

中文摘要

英文摘要

目录

第1章 绪论

1.1 课题来源及研究意义

1.2 与课题相关的国内外研究综述

1.3 本论文的主要工作内容

第2章 GP U协处理模块需求分析和设计

2.1 Calc电子表格组件

2.2 GPU协处理模块需求分析

2.3 GPU协处理模块的设计

2.4 本章小结

第3章 动态kernel在GP U设备上的实现

3.1 OpenCL接口模块

3.2 函数组判断模块

3.3 公式转换模块

3.4 运算符映射模块

3.5 动态kernel拼接模块

3.6 本章小结

第4章 函数优化的实现

4.1 OpenCL常用优化方式

4.2 财务函数的实现

4.3 数学函数的实现

4.4 函数优化在动态ker nel结构上的处理

4.5 本章小结

第5章 功能和性能测试分析

5.1 测试工具和环境

5.2 功能测试

5.3 性能测试

5.4 本章小结

结论

参考文献

声明

致谢

个人简历

展开▼

摘要

随着软件行业的发展,办公软件受到越来越多的关注,其中电子表格计算组件因其强大的计算功能,普遍应用到各行各业中。然而,目前办公软件只在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硬件并行特性和函数本身算法特点优化,重点介绍了财务函数和数学函数并举例说明。经过测试,所优化的函数均达到了满意的效果。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号