GPU基本知识

(1)线程束 warp

GPU基本知识_第1张图片

 (2)线程ID的计算

CUDA的软件架构由网格(Grid)、线程块(block)和线程(thread)组成,相当于把GPU上的计算单元分为若干个网格,每个网格内包含若干个(65535)个线程块,每一个线程块包含若干个(512)个线程。

thread:一个CUDA的并行程序会被以许多个threads来执行。

block:数个thread会被群组成一个block,同一个block中的thread可以同步,也可以通过shared memory通信,

grid:多个block则会在组成grid。

一个grid可以包含多个blocks,blocks的组织方式可以是一维的,二维的或者三维的。block包含多个thread。这些thread的组织方式也可以是一维,二维或者三维。CUDA中每一个线程都有一个唯一标识的id号threadidx,这个id随着Grid和Block的划分方式的不同而变化,这里给出Grid和Block不同划分方式下线程索引id的计算公式。

1、grid一维block一维:

 2、grid一维block二维:

 3、grid一维block三维:

 4、grid二维block一维:

 5、grid二维block二维:

 6、grid二维block三维:

 7、grid三维block一维:

 8、grid三维block二维:

 9、grid三维block三维:

GPU基本知识_第2张图片

 

GPU基本知识_第3张图片

 

你可能感兴趣的:(人工智能)