CUDA Programming/Terminology: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
Myuksek1 (talk | contribs)
No edit summary   (change visibility)
Myuksek1 (talk | contribs)
No edit summary   (change visibility)
 
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:



Latest revision as of 04:40, 21 May 2011

← Back to project main page

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.

See also: SIMT, Thread, Warp

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