File: glossary.dox

package info (click to toggle)
rocprim 6.4.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,428 kB
  • sloc: cpp: 153,383; python: 1,397; sh: 404; xml: 217; makefile: 119
file content (38 lines) | stat: -rw-r--r-- 1,861 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**
@brief rocPRIM Glossary
@author
@file
*/

/**
 * \defgroup rocprim_glossary rocPRIM Glossary
 * @{
 *     This glossary is to help users understand the basic concepts or terminologies used in the rocPRIM library.
 *
 *     @page rocprim_glossary_page Terminologies
 *     
 *     * \par Warp
 *       Refers to a group of threads that execute in SIMT (Single Instruction, Multiple Thread) fashion. Also known as \n
 *       wavefronts on AMD GPUs.
 *     * \par Hardware Warp Size
 *       Refers to the number of threads in a warp defined by the hardware. On Nvidia GPUs, a warp size is 32, \n
 *       while on AMD GPUs, a warp size is 64.
 *     * \par Logical Warp Size
 *       Refers to the number of threads in a warp defined by the user, which can be equal to or less than \n
 *       the size of the hardware warp size.
 *     * \par Lane ID
 *       Refers to the thread identifier within the warp. A logical lane ID refers to the thread identifier in a \n "logical
 *       warp", which can be smaller than a hardware warp size (And can be defined as `lane_id() % WarpSize`).
 *     * \par Warp ID
 *       Refers to the identifier of the hardware/logical warp in a block. Warp ID is guaranteed to be unique among warps.
 *     * \par Block
 *       Refers to a group of threads that are executed on the same compute unit (streaming multiprocessor). These threads can \n
 *       be indexed using 1 Dimension {X}, 2 Dimensions {X, Y} or 3 Dimensions {X, Y, Z}. A block consists of multiple warps.
 *     * \par Tile
 *       Refers to a block, but in the C++AMP nomenclature.
 *     * \par Flat ID
 *       Refers to a flattened identifier of a block (tile) or a thread identifier. Flat ID is a 1D value created from 2D or 3D \n
 *       identifier. Example: flat id of thread id (X, Y) in 2D thread block 128x4 (XxY) is Y * 128 + X.
 *
 * @}
 */