CUDA Programming/Terminology

From CS486wiki
Jump to navigationJump to search

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.

See also: SIMT

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