- 18
- 0
- 约3.6千字
- 约 5页
- 2018-12-20 发布于山东
- 举报
矩阵相乘在GPU上的并行实现.doc
矩阵相乘在GPU上的并行实现
问题描述
这里讨论矩阵相乘C=A×B,其中矩阵A、B、C均为大小为n×n的方阵。由矩阵相乘定义,可得:Ci,j=∑Ai,k×Bk,j,其中,i,jn,且k从0到n-1,累积求和得到结果矩阵C中每个元素的值。
矩阵相乘是高度密集型的计算问题,各元素之间的计算没有相关性,因此,非常易于并行化。为了便于并行实现,很自然地将矩阵进行划分,然后指派给不同的处理器。两种常见的划分方法,为行列划分(又称为带状划分)和棋盘划分(又称为块状划分)。这里,我们采用棋盘划分方法将矩阵相乘在NVIDIA新型GPU架构上进行并行化,采用CUDA C语言进行编程实现。
GPU硬件构成(GT200)
GT200系列GPU拥有30个SM(Streaming Multi-processor:多处理器),每个SM里拥有8个SP(Streaming processor:流处理器),SP是GPU内部最小的计算核心,每8个SP位于同一SM中共享同一套取指单元、译码单元。大量的SP可以同时工作,有着强大的并行计算能力。
显存,属于GPU片外存储,由全局存储器(global memory)、固定存储器(constant memory)、纹理存储器(texture memory)三者共同构成,共有4GB大小的空间,这里我们用到了全局存储器,它是对所有的SM可见,由它们共享,全局有着严
原创力文档

文档评论(0)