線程束洗牌指令

對一個給定線程計算其線程束-束內索引和線程束索引的公式如下

laneID = threadIdx.x % 32

warpID = threadIdx.x / 32

有兩組洗牌指令,分爲整數型和浮點型,每組有4種形式的洗牌指令

1.

int __shf1(int var, int srcLane, int width=warpSize);

2.

int __shf1_up(int var, unsigned int delta, int width=warpSize);

3.

int __shf1_down(int var, unsigned int delta, int width=warpSize);

4.

int __shf1_xor(int var, int laneMask, int width=warpSize);

 

 

在本節討論的所有洗牌函數還支持單精度浮點值。浮點洗牌函數採用浮點型的var參 數,並返回一個浮點數。否則,浮點洗牌函數就與整型洗牌函數相同了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章