GPU并行计算与CUDA编程第2课第一节

来自炼数成金罗老师的课

  1. 并行编程的通讯模式(Communication Patterns)
    1.1 什么是通讯模式
    并行计算:很多线程的通力合作来解决一个问题。拿For循环距离,比如一个For循环循环一百次,CPU的话就是这100次一次一次的执行,但是GPU的话是这100次同时执行。
    并行模式:1.同时读取同个位置。2.所有循环都往一个地方写数据。3. 不同的数据位置,还有一部分内容或结果是需要交换的。
    最常见的通讯模式分别有:
    1. 映射(Map):输入输出关系:一一对应(one-to-one)。例子:每个元素倍数扩大,y[i]=3*x[i]
    2. 聚合(gatter):输入输出关系:多对一(many-to-one),例如,每相邻三个元素求平均,y[i]=(x[i-1+x[i]+x[i+1]])/3。gather模型在图像领域用的非常多。
    3. 分散(scatter):与gatter对应,输入输出关系:一对多(one-to-many)不一定读入的值一个是一个,但一定是比输出的值少一些。
    4. 模板(stencil):以固定的模式读取相邻的内存数值。输入输出关系:serveral-to-one

在这里插入图片描述

		5.转置:输入输出关系:一对一(one-to-one)

在这里插入图片描述

6. 压缩reduce:输入输出关系:多对一(all-to-one)

输入输出关系:多对一(all-to-one)

在这里插入图片描述

7. 重排scan/sort,输入输出关系:多对多

1.2通讯模式的类型和原理在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值