CUDA内存介绍
Global Memory
Global Memory就是我们在书写CUDA程序时最常使用的内存,cudaMemcpy也是从CPU 内存拷贝到Global Memory。
Global Mem能被所有thread访问。
Device可读/写, host可读/写。
Local Memory
每个thread都拥有自己私有的local memory,负责存储一些局部变量(automatic variable)。
对于局部变量而说,一些小型的局部变量会被放到register里,当register不够用时,则会被放到Local Mem中。
每个线程私有;没有缓存,慢,Device可读/写。
Shared Memory
shared memory位于thread block这一层,即每个block共享一块shared mem,这块shared mem对该block内的所有threads可见,且当该block执行结束时,其所占用的shared mem也会被释放。
特点:block中的线程共有;访问共享存储器几乎与register一样快.
Device可读/写