CUDA Programming/Terminology: Difference between revisions
Created page with "Here are the list of various terms that are specific to GPU Parallel Computing field: = Terms = == Kernel == === CUDA Definition === A kernel is a function that, when called, i..." (change visibility) |
No edit summary (change visibility) |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[CUDA_Programming|← Back to project main page]] |
|||
Here are the list of various terms that are specific to GPU Parallel Computing field: |
Here are the list of various terms that are specific to GPU Parallel Computing field: |
||
= |
= Kernel = |
||
| ⚫ | |||
| ⚫ | |||
== Kernel == |
|||
== OpenCL Definition == |
|||
| ⚫ | |||
| ⚫ | |||
A kernel is a function declared in a program and executed on an OpenCL device.[2] |
A kernel is a function declared in a program and executed on an OpenCL device.[2] |
||
<i>See also:</i> [[#Kernel_Object|Kernel Object]] definition |
<i>See also:</i> [[#Kernel_Object|Kernel Object]] definition |
||
= Kernel Object = |
|||
== OpenCL Definition == |
|||
A kernel object encapsulates a specific [[#Kernel|kernel]] function declared in a program and the argument values to be used when executing this function. |
A kernel object encapsulates a specific [[#Kernel|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 [[#Thread|threads]] concurrently. |
|||
<i>See also:</i> [[#Warp|Warp]] |
|||
= Thread = |
|||
== 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. 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]] |
|||
= 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 = |
|||
== CUDA Definition == |
|||
A warp defines a group of 32 parallel threads. Individual [[#Thread|threads]] composing a warp start together at the same program address. |
|||
<i>See also:</i> [[#SIMT|SIMT]] |
|||
= References = |
|||
[1] NVIDIA CUDA Computing Guide Version 3.1 |
|||
[2] The OpenCL Specification, Version 1.1, Revision 36 |
|||
Latest revision as of 04:40, 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