CUDA Programming/Terminology: Difference between revisions
No edit summary (change visibility) |
No edit summary (change visibility) |
||
| Line 25: | Line 25: | ||
= Thread = |
= Thread = |
||
== CUDA Definition == |
== CUDA Definition == |
||
CUDA thread defines a ready-for-execution/running instance of a [[#Kernel|kernel]]. Each thread has its own instruction address counter and register state. |
CUDA thread defines a ready-for-execution/running instance of a [[#Kernel|kernel]]. Each thread has its own instruction address counter and register state. Each thread can be identified by a combination of its three-dimensional thread index and three-dimensional thread-block index. |
||
<i>See also:</i> [[#SIMT|SIMT]] |
<i>See also:</i> [[#SIMT|SIMT]] |
||
= Thread Block = |
|||
== CUDA Definition == |
|||
Each [[#Thread_Grid|thread grid]] is divided into thread blocks. Furthermore, when blocks are given to a multiprocessor, each thread block is divided into [[#Warp|warps]]. The way a block is partitioned into warps is always the same; each warp contains threads of consecutive, increasing thread IDs with the first warp containing thread 0. |
|||
<i>See also:</i> [[#SIMT|SIMT]] |
|||
= Thread Grid = |
|||
== CUDA Definition == |
|||
[[#Thread|Threads]] are partitioned into grids with each grid containing a certain number of [[#Thread_Block|thread blocks]]. Grids can be one-dimensional or two-dimensional. |
|||
<i>See also:</i> [[#SIMT|SIMT]], [[#Thread|Thread]], [[#Warp|Warp]] |
|||
= Warp = |
= Warp = |
||
Revision as of 02:11, 21 May 2011
Here are the list of various terms that are specific to GPU Parallel Computing field:
Kernel
CUDA Definition
A kernel is a function that, when called, is executed N times in parallel by N different CUDA threads, as opposed to only once like regular C functions.
OpenCL Definition
A kernel is a function declared in a program and executed on an OpenCL device.[2]
See also: Kernel Object definition
Kernel Object
OpenCL Definition
A kernel object encapsulates a specific kernel function declared in a program and the argument values to be used when executing this function.
Compute Capability
CUDA Definition
It is defined by a major and a minor revision number. Devices with the same major revision number are of the same core architecture. The minor revision number corresponds to an incremental improvement to the core architecture, possibly including new features.
SIMT
CUDA Definition
SIMT (Single-Instruction, Multiple-Thread) is an architecture that manages the execution of multiple threads concurrently.
See also: Warp
Thread
CUDA Definition
CUDA thread defines a ready-for-execution/running instance of a kernel. Each thread has its own instruction address counter and register state. Each thread can be identified by a combination of its three-dimensional thread index and three-dimensional thread-block index.
See also: SIMT
Thread Block
CUDA Definition
Each thread grid is divided into thread blocks. Furthermore, when blocks are given to a multiprocessor, each thread block is divided into warps. The way a block is partitioned into warps is always the same; each warp contains threads of consecutive, increasing thread IDs with the first warp containing thread 0.
See also: SIMT
Thread Grid
CUDA Definition
Threads are partitioned into grids with each grid containing a certain number of thread blocks. Grids can be one-dimensional or two-dimensional.
Warp
CUDA Definition
A warp defines a group of 32 parallel threads. Individual threads composing a warp start together at the same program address.
See also: SIMT