文章分类 -  CUDA编程

CUDA编程模型——组织并行线程3 (2D grid 1D block)
摘要:当使用一个包含一维块的二维网格时,每个线程都只关注一个数据元素并且网格的第二个维数等于ny,如下图所示: 这可以看作是含有二维块的二维网格的特殊情况,其中块儿的第二个维数是1。因此,从块儿和线程索引到矩阵坐标的映射就变成: ix = threadIdx.x + blockIdx.x * blockD 阅读全文
posted @ 2019-04-01 09:44 IMWH 阅读(391) 评论(0) 推荐(0)
CUDA编程模型——组织并行线程2 (1D grid 1D block)
摘要:在”组织并行编程1“中,通过组织并行线程为”2D grid 2D block“对矩阵求和,在本文中通过组织为 1D grid 1D block进行矩阵求和。一维网格和一维线程块的结构如下图: 其中,nx是x方向上的最大线程数,ny是一个线程需要处理的数据元素的个数(因为块是一维的,照理应该没有ny) 阅读全文
posted @ 2019-03-31 21:27 IMWH 阅读(525) 评论(0) 推荐(0)
CUDA编程——主机端代码和设备端代码完成的主要功能
摘要:一、在一个CUDA程序中,基本的主机端代码主要完成以下功能: 启动CUDA,使用多卡时应加上设备号,或使用cudaSetDevice()设置GPU设备。 为输入数据分配内存空间。 初始化输入数据。 为GPU分配显存,用于存放输入数据。 将内存中的输入数据拷贝到显存。 为GPU分配显存,用于存放输出数 阅读全文
posted @ 2019-01-22 20:08 IMWH 阅读(495) 评论(0) 推荐(0)