alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
Positioning.hpp
Go to the documentation of this file.
1/* Copyright 2019 Benjamin Worpitz, René Widera
2 * SPDX-License-Identifier: MPL-2.0
3 */
4
5#pragma once
6
7namespace alpaka
8{
9 //! Defines the parallelism hierarchy levels of alpaka
10 namespace hierarchy
11 {
12 struct Grids
13 {
14 };
15
16 struct Blocks
17 {
18 };
19
20 struct Threads
21 {
22 };
23 } // namespace hierarchy
24
25 //! Defines the origins available for getting extent and indices of kernel executions.
26 namespace origin
27 {
28 //! This type is used to get the extents/indices relative to the grid.
29 struct Grid;
30 //! This type is used to get the extent/indices relative to a/the current block.
31 struct Block;
32 //! This type is used to get the extents relative to the thread.
33 struct Thread;
34 } // namespace origin
35
36 //! Defines the units available for getting extent and indices of kernel executions.
37 namespace unit
38 {
39 //! This type is used to get the extent/indices in units of blocks.
40 struct Blocks;
41 //! This type is used to get the extent/indices in units of threads.
42 struct Threads;
43 //! This type is used to get the extents/indices in units of elements.
44 struct Elems;
45 } // namespace unit
46
47 using namespace origin;
48 using namespace unit;
49} // namespace alpaka
The alpaka accelerator library.