什么是通信模式
在多个线程合作解决一个问题。多线程控制,需要相互之间的交互。遇到如下问题
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/24911746b814e8dd72348a5b109099f9.png#pic_center)
- 同一个空间被多个线程读取
- 同一个空间被多个线程写入
- 相邻的空间进行交换
通讯模式
映射Map
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ab53c09897dcf1bb13f8c7e447f29551.png#pic_center)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9d3f3863324b68f8d42e8795ebb9e096.png#pic_center)
输入数据与输出数据一一对应的情况下为映射模式
聚合gatter
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7619fcf4429cf53fd12f5bff63f8a7ee.png#pic_center)
一个线程读取多个内存空间的值,求平均写入空间。常用于神经网络的中池化。并行化有利于神经网络计算。
分散scatter
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c64fab37fc7381f00ed3cc26352d18a2.png#pic_center)
应用:神经网络中的反卷积
模板stencil(以固定模式读取相邻的内存数值)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3a39a02c51e2ae10ea1549a54201fdf6.png#pic_center)
以固定的模板读取数值。
转置transpose
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4509b6f7b83e9883a16af37382d6dfee.png#pic_center)
压缩reduce
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/722981e41847b063f2ef8274978a152e.png#pic_center)
重排scan/sort
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cf2d8fb3b32fe99d9d9624f12ac5a7ad.png#pic_center)