thread(執行緒)
乙個執行緒可作為乙個運算單元,多個thread可組成乙個block(塊).
threadidx.x
:block中當前thread在x方向上的id.
threadidx.y
:block中當前thread在y方向上的id.
block(塊)
乙個block中可包含多個thread,多個block可組成乙個grid(網格).
blockidx.x
:grid中當前block在x方向上的id.
blockidx.y
:grid中當前block在y方向上的id.
blockdim.x
:當前block中x方向上的thread數量.
blockdim.y
:當前block中y方向上的thread數量.
grid(網格)
乙個grid中可包含多個block.
griddim.x
:當前grid中在x方向上的block數量.
griddim.y
:當前grid中在y方向上的block數量.
同一block內所有執行緒執行至__syncthreads()
處等待全部執行緒執行完畢後再繼續。
**如下(示例):
#include
#include
#include
#include
#include
#define n 8
void
vfill
(float
* v,
int n)
}void
vprint
(float
* v,
int n)
printf
("\n");
} __global__ void
psum
(float
* v)
}int main (
void
)
執行結果
v =
0.840
0.394
0.783
0.798
0.912
0.198
0.335
0.768
pairwise sum =
5.029
CUDA 四 執行配置與內建變數
執行配置是針對 global 函式的,並在其呼叫的地方指定。指明執行緒網格 執行緒塊的尺寸,以及共享記憶體的大小和流。形式為 dg db 分別表示執行緒網格的大小和執行緒塊的大小,型別為dim3的結構體,有x y z三個成員變數,預設的建構函式會將其成員變數賦值為1,而int3則是只含有x y z三...
cuda中變數的屬性
在 device 亞程式中宣告的變數可以有以下幾種屬性 device,managed,constant,shared 和pinned device 資料儲存在 device 全域性儲存器中,可以通過以下方式宣告 real a 10 attributes device a 或 real device ...
mysql內建變數 MySQL常用內建變數
mysql用很多常用的內建變數,掌握這些內建變數後對於我們快速獲取當前mysql的配置有很大幫助,下面就來列舉幾個常用的變數。檢視當前mysql版本號資訊。show variables like version mariadb none show variables like version var...