Merge branch 'master' of github.com:QINZHAOYU/CudaSteps
This commit is contained in:
commit
ecf8faf14a
|
@ -123,7 +123,7 @@ CUDA 采用 nvcc 作为编译器,支持 C++ 代码;nvcc 在编译 CUDA 程
|
|||
|
||||
## CUDA 的头文件
|
||||
|
||||
CUDA 头文件的后缀依然是 “.h”;同时,采用 nvcc 编译器会自动包含必要的 cuda 头文件,
|
||||
CUDA 头文件的后缀一般是 “.cuh”;同时,同时可以包含c/cpp 的头文件 “.h”、“.hpp”,采用 nvcc 编译器会自动包含必要的 cuda 头文件,
|
||||
如 <cuda.h>, <cuda_runtime.h>,同时前者也包含了c++头文件 <stdlib.h>。
|
||||
|
||||
------
|
||||
|
|
|
@ -48,13 +48,13 @@
|
|||
|
||||
共享内存在物理上被分为32个同样宽度(开普勒架构为 8 字节,其他为 4 字节)、能被同时访问的列向内存bank。
|
||||
|
||||
======================================
|
||||
bank0 bank1 ... bank31
|
||||
======================================
|
||||
layer1 layer1 ... layer1
|
||||
layer2 layer2 ... layer2
|
||||
...
|
||||
layer32 layer32 ... layer32
|
||||
++++++++++++++++++++++++++++++++++++++
|
||||
bank0 bank1 ... bank31
|
||||
++++++++++++++++++++++++++++++++++++++
|
||||
layer1 layer1 ... layer1
|
||||
layer2 layer2 ... layer2
|
||||
...
|
||||
layer32 layer32 ... layer32
|
||||
|
||||
|
||||
只要同一个线程束内的多个线程不同时访问同一个 bank 中不同层的数据,该线程束对共享内存的访问就只需要
|
||||
|
|
Loading…
Reference in New Issue