cuda的內建變數

2021-10-12 16:41:46 字數 1250 閱讀 7628

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...