基于OpenCL的稀疏矩阵向量乘优化

被引:0
作者
赵加强
机构
[1] 吉林大学
关键词
OpenCL; GPU并行计算; 稀疏矩阵向量乘; 优化;
D O I
暂无
年度学位
2012
学位类型
硕士
导师
摘要
在过去的几年间GPU在大规模并行运算中起到重要的作用,单从单位面积和单位功耗来看,GPU的计算能力已经大大超过CPU。CUDA、OpenCL等编程工具的出现使得更多的开发人员更容易地更有效率地在GPU平台上编程。本文主要用的是目前一个重要的GPGPU解决方案——OpenCL。稀疏矩阵向量乘是数学和工程学中常用的数值类算法之一,很多数值类算法又能够转换为矩阵的运算,如图像处理和工程科学中的信息处理,求解线性方程组,快速傅里叶变换,优化。解决稀疏矩阵向量乘的优化问题可以对工程科学中的性能有很大的提升。 本文首先以GPU计算为背景,对GPU的发展过程和一些基本概念做些介绍。其次,阐述了AMD系列的GPU的架构,从硬件出发,通过了解硬件平台的架构来为优化做一些准备,并从OpenCL架构方面介绍了平台模型、执行模型、内存模型、编程模型四种模型详细了解OpenCL的运行过程。 在实现基于CSR格式的优化过程中,首先配置了OpenCL的开发环境,主要是针对OpenCL的SDK在头文件和程序库的设置。因为矩阵中的任意两行的操作是没有数据和逻辑依赖关系,所以传统串行算法可并行化,即在传统串行算法代码中表现也就是外层的循环是可以进行并行处理。并用了一个线程处理一行数据、一个wave处理一行数据、一个线程和一个wave处理一行数据的折中方法三种方法。在用一个线程处理一行数据的方法之后发现负载平衡和访问存储器的连续性的问题,之后用一个wave处理一行数据解决。在针对绝大多数行拥有的非零元素数量都远大于64的矩阵时,发现一个wave处理一行数据不能发挥很好的性能,之后用一个线程处理一行数据和一个wave处理一行数据的折中方法解决,之后利用图像对象和量化内核其他优化方法。 最后,对本文进行简单的总结并展望未来异构平台下的SpMV优化。
引用
收藏
页数:56
共 17 条
[1]
基于PageRank排序算法改进的若干研究 [D]. 
邵晶晶 .
华中师范大学,
2009
[2]
异构平台上基于OpenCL的FFT实现与优化 [J].
李焱 ;
张云泉 ;
王可 ;
赵美超 .
计算机科学, 2011, 38 (08) :284-286+296
[3]
AMD下一代GPU架构路线图揭秘 [J].
沈建苗 .
微电脑世界, 2011, (08) :10-13
[4]
GPU上稀疏矩阵与矢量乘积运算的一种改进 [J].
马超 ;
韦刚 ;
裴颂文 ;
吴百锋 .
计算机系统应用, 2010, 19 (05) :116-120
[5]
SpMV的自动性能优化实现技术及其应用研究 [J].
袁娥 ;
张云泉 ;
刘芳芳 ;
孙相征 .
计算机研究与发展, 2009, (07) :1117-1126
[6]
基于GPGPU的数字图像并行化预处理 [J].
宋晓丽 ;
王庆 .
计算机测量与控制, 2009, 17 (06) :1169-1171
[7]
稀疏矩阵存储技术 [J].
张永杰 ;
孙秦 .
长春理工大学学报, 2006, (03) :38-41
[8]
图形处理器用于通用计算的技术、现状及其挑战 [J].
吴恩华 .
软件学报, 2004, (10) :1493-1504
[9]
GPGPU编程技术.[M].仇德元; 编著.机械工业出版社.2011,
[10]
大规模并行处理器编程实战.[M].(美) 科克 (Kirk;D.B.) ; (美) 胡文美; 著.清华大学出版社.2010,