alpaka
Abstraction Library for Parallel Kernel Acceleration
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 
7 namespace 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.