CUDA相关知识整理
CUDA libraries主要有两个:
(1) BLAS:全称是Basic Linear Algebra Subprograms。 是一个用于线性代数运算的应用程序接口。
(2) FFT: 即使得能够在NVIDIA GPU上高效执行FFT变换的库。当我们launch了a grid of blocks of threads 的时候, 我们在kernel中需要指定CUDA的thread indexing。 关于CUDA线程模型如下图:
我们的计算thread的global index的情况有如下种9种:
(1). 1D grid of 1D blocks
__device__ int getGlobalIdx_1D_1D() {
return blockIdx.x * blockDim.x + threadIdx.x;
}
(2) 1D grid of 2D blocks
__device__ int getGlobalIdx_1D_2D() {
return blockIdx