2019年7月4日 下午7:33
Nvida官方学习资料:CUDA Toolkit Documentation
一个重要的概念:
SPMD:single program, multiple data
- 在课程中,老师讲的全部都是SPMD,这个默认容易被忽略

- 我理解下来,就是把大数据分解成一块一块的,将他们分到不同的thread上同时计算。这里重要的是:这些分解出来的数据之间没有前后的依赖关系,并且处理方式还是一模一样
GPU的内存模型:

- 里面涉及到了Grid、Block、Thread这几个分配任务的模块
- 还涉及到了Global、Shared、Reign不同级别的内存
- 一个问题来理解这个内存模型:
- ::<2,1>和<1,2>:::即使最终他们有相同的Thread数,但是他们会由于采用不同级别的内存,执行的效率也会有很大的不同
- 使用不同级别的内存通过关键字来声明就可以了
