CUDA 原子操作的概念:
CUDA的原子操作可以理解为对一个Globalmemory或Shared memory中变这三个操作的一个最小单位的执行过程,在它执量进行“读取-修改-写入行过程中,不允许其他并行线程对该变量进行读取和写入的操作。基于这个机制,原子操作实现了对在多个线程间共享的变量的互斥保护,确保任何一次对变量的操作的结果的正确性。
CUDA 原子操作常用函数:
CUDA 流的概念
- 表示一个GPU的操作队列操作在队列中按照一定的顺序执行,也可以向流中添加一定的操作如核函数的启动、内存的复制、事件的启动和结束等,添加的顺序也就是执行的顺序
- 一个流中的不同操作有着严格的顺序。但是不同流之间是没有任何限制的。
- 多个流同时启动多个内核,就形成了网格级别的并行。CUDA流中排队的操作和主机都是异步的,所以排队的过程中并不耽误主机运行其他指令,所以这就隐藏了执行这些操作的开销。