alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka.hpp
Go to the documentation of this file.
1
/* Copyright 2023 Axel Hübl, Benjamin Worpitz, Erik Zenker, Matthias Werner, René Widera, Bernhard Manfred Gruber,
2
* Jan Stephan, Antonio Di Pilato, Luca Ferragina, Aurora Perego, Andrea Bocci
3
* SPDX-License-Identifier: MPL-2.0
4
*/
5
6
#pragma once
7
8
// Include the whole library.
9
10
// version number
11
#include "
alpaka/version.hpp
"
12
// acc
13
#include "
alpaka/acc/AccCpuOmp2Blocks.hpp
"
14
#include "
alpaka/acc/AccCpuOmp2Threads.hpp
"
15
#include "
alpaka/acc/AccCpuSerial.hpp
"
16
#include "
alpaka/acc/AccCpuSycl.hpp
"
17
#include "
alpaka/acc/AccCpuTbbBlocks.hpp
"
18
#include "
alpaka/acc/AccCpuThreads.hpp
"
19
#include "
alpaka/acc/AccDevProps.hpp
"
20
#include "
alpaka/acc/AccFpgaSyclIntel.hpp
"
21
#include "
alpaka/acc/AccGenericSycl.hpp
"
22
#include "
alpaka/acc/AccGpuCudaRt.hpp
"
23
#include "
alpaka/acc/AccGpuHipRt.hpp
"
24
#include "
alpaka/acc/AccGpuSyclIntel.hpp
"
25
#include "
alpaka/acc/Tag.hpp
"
26
#include "
alpaka/acc/TagAccIsEnabled.hpp
"
27
#include "
alpaka/acc/Traits.hpp
"
28
// atomic
29
#include "
alpaka/atomic/AtomicCpu.hpp
"
30
#include "
alpaka/atomic/AtomicGenericSycl.hpp
"
31
#include "
alpaka/atomic/AtomicNoOp.hpp
"
32
#include "
alpaka/atomic/AtomicOmpBuiltIn.hpp
"
33
#include "
alpaka/atomic/AtomicUniformCudaHipBuiltIn.hpp
"
34
#include "
alpaka/atomic/Op.hpp
"
35
#include "
alpaka/atomic/Traits.hpp
"
36
// block
37
// shared
38
// dynamic
39
#include "
alpaka/block/shared/dyn/BlockSharedMemDynGenericSycl.hpp
"
40
#include "
alpaka/block/shared/dyn/BlockSharedMemDynMember.hpp
"
41
#include "
alpaka/block/shared/dyn/BlockSharedMemDynUniformCudaHipBuiltIn.hpp
"
42
#include "
alpaka/block/shared/dyn/Traits.hpp
"
43
// static
44
#include "
alpaka/block/shared/st/BlockSharedMemStGenericSycl.hpp
"
45
#include "
alpaka/block/shared/st/BlockSharedMemStMember.hpp
"
46
#include "
alpaka/block/shared/st/BlockSharedMemStMemberMasterSync.hpp
"
47
#include "
alpaka/block/shared/st/BlockSharedMemStUniformCudaHipBuiltIn.hpp
"
48
#include "
alpaka/block/shared/st/Traits.hpp
"
49
// sync
50
#include "
alpaka/block/sync/BlockSyncBarrierOmp.hpp
"
51
#include "
alpaka/block/sync/BlockSyncBarrierThread.hpp
"
52
#include "
alpaka/block/sync/BlockSyncGenericSycl.hpp
"
53
#include "
alpaka/block/sync/BlockSyncNoOp.hpp
"
54
#include "
alpaka/block/sync/BlockSyncUniformCudaHipBuiltIn.hpp
"
55
#include "
alpaka/block/sync/Traits.hpp
"
56
// core
57
#include "
alpaka/core/Align.hpp
"
58
#include "
alpaka/core/AlignedAlloc.hpp
"
59
#include "
alpaka/core/Assert.hpp
"
60
#include "
alpaka/core/BarrierThread.hpp
"
61
#include "
alpaka/core/BoostPredef.hpp
"
62
#include "
alpaka/core/ClipCast.hpp
"
63
#include "
alpaka/core/Common.hpp
"
64
#include "
alpaka/core/Cuda.hpp
"
65
#include "
alpaka/core/Debug.hpp
"
66
#include "
alpaka/core/Hip.hpp
"
67
#include "
alpaka/core/Interface.hpp
"
68
#include "
alpaka/core/OmpSchedule.hpp
"
69
#include "
alpaka/core/Positioning.hpp
"
70
#include "
alpaka/core/RemoveRestrict.hpp
"
71
#include "
alpaka/core/RuntimeMacros.hpp
"
72
#include "
alpaka/core/Sycl.hpp
"
73
#include "
alpaka/core/ThreadPool.hpp
"
74
#include "
alpaka/core/Unreachable.hpp
"
75
#include "
alpaka/core/Unroll.hpp
"
76
#include "
alpaka/core/Utility.hpp
"
77
#include "
alpaka/core/Vectorize.hpp
"
78
// dev
79
#include "
alpaka/dev/DevCpu.hpp
"
80
#include "
alpaka/dev/DevCpuSycl.hpp
"
81
#include "
alpaka/dev/DevCudaRt.hpp
"
82
#include "
alpaka/dev/DevFpgaSyclIntel.hpp
"
83
#include "
alpaka/dev/DevGenericSycl.hpp
"
84
#include "
alpaka/dev/DevGpuSyclIntel.hpp
"
85
#include "
alpaka/dev/DevHipRt.hpp
"
86
#include "
alpaka/dev/Traits.hpp
"
87
#include "
alpaka/dev/cpu/Wait.hpp
"
88
// dim
89
#include "
alpaka/dim/DimArithmetic.hpp
"
90
#include "
alpaka/dim/DimIntegralConst.hpp
"
91
#include "
alpaka/dim/Traits.hpp
"
92
// event
93
#include "
alpaka/event/EventCpu.hpp
"
94
#include "
alpaka/event/EventCpuSycl.hpp
"
95
#include "
alpaka/event/EventCudaRt.hpp
"
96
#include "
alpaka/event/EventFpgaSyclIntel.hpp
"
97
#include "
alpaka/event/EventGenericSycl.hpp
"
98
#include "
alpaka/event/EventGpuSyclIntel.hpp
"
99
#include "
alpaka/event/EventHipRt.hpp
"
100
#include "
alpaka/event/Traits.hpp
"
101
// exec
102
#include "
alpaka/exec/ElementIndex.hpp
"
103
#include "
alpaka/exec/IndependentElements.hpp
"
104
#include "
alpaka/exec/Once.hpp
"
105
#include "
alpaka/exec/UniformElements.hpp
"
106
// extent
107
#include "
alpaka/extent/Traits.hpp
"
108
// idx
109
#include "
alpaka/idx/Accessors.hpp
"
110
#include "
alpaka/idx/MapIdx.hpp
"
111
#include "
alpaka/idx/Traits.hpp
"
112
#include "
alpaka/idx/bt/IdxBtGenericSycl.hpp
"
113
#include "
alpaka/idx/bt/IdxBtOmp.hpp
"
114
#include "
alpaka/idx/bt/IdxBtRefThreadIdMap.hpp
"
115
#include "
alpaka/idx/bt/IdxBtUniformCudaHipBuiltIn.hpp
"
116
#include "
alpaka/idx/bt/IdxBtZero.hpp
"
117
#include "
alpaka/idx/gb/IdxGbGenericSycl.hpp
"
118
#include "
alpaka/idx/gb/IdxGbRef.hpp
"
119
#include "
alpaka/idx/gb/IdxGbUniformCudaHipBuiltIn.hpp
"
120
// kernel
121
#include "
alpaka/kernel/TaskKernelCpuOmp2Blocks.hpp
"
122
#include "
alpaka/kernel/TaskKernelCpuOmp2Threads.hpp
"
123
#include "
alpaka/kernel/TaskKernelCpuSerial.hpp
"
124
#include "
alpaka/kernel/TaskKernelCpuSycl.hpp
"
125
#include "
alpaka/kernel/TaskKernelCpuTbbBlocks.hpp
"
126
#include "
alpaka/kernel/TaskKernelCpuThreads.hpp
"
127
#include "
alpaka/kernel/TaskKernelFpgaSyclIntel.hpp
"
128
#include "
alpaka/kernel/TaskKernelGenericSycl.hpp
"
129
#include "
alpaka/kernel/TaskKernelGpuCudaRt.hpp
"
130
#include "
alpaka/kernel/TaskKernelGpuHipRt.hpp
"
131
#include "
alpaka/kernel/TaskKernelGpuSyclIntel.hpp
"
132
#include "
alpaka/kernel/Traits.hpp
"
133
// math
134
#include "
alpaka/math/Complex.hpp
"
135
#include "
alpaka/math/MathGenericSycl.hpp
"
136
#include "
alpaka/math/MathStdLib.hpp
"
137
#include "
alpaka/math/MathUniformCudaHipBuiltIn.hpp
"
138
// mem
139
#include "
alpaka/mem/alloc/AllocCpuAligned.hpp
"
140
#include "
alpaka/mem/alloc/AllocCpuNew.hpp
"
141
#include "
alpaka/mem/alloc/Traits.hpp
"
142
#include "
alpaka/mem/buf/BufCpu.hpp
"
143
#include "
alpaka/mem/buf/BufCpuSycl.hpp
"
144
#include "
alpaka/mem/buf/BufCudaRt.hpp
"
145
#include "
alpaka/mem/buf/BufFpgaSyclIntel.hpp
"
146
#include "
alpaka/mem/buf/BufGenericSycl.hpp
"
147
#include "
alpaka/mem/buf/BufGpuSyclIntel.hpp
"
148
#include "
alpaka/mem/buf/BufHipRt.hpp
"
149
#include "
alpaka/mem/buf/Traits.hpp
"
150
#include "
alpaka/mem/fence/MemFenceCpu.hpp
"
151
#include "
alpaka/mem/fence/MemFenceCpuSerial.hpp
"
152
#include "
alpaka/mem/fence/MemFenceGenericSycl.hpp
"
153
#include "
alpaka/mem/fence/MemFenceOmp2Blocks.hpp
"
154
#include "
alpaka/mem/fence/MemFenceOmp2Threads.hpp
"
155
#include "
alpaka/mem/fence/MemFenceUniformCudaHipBuiltIn.hpp
"
156
#include "
alpaka/mem/fence/Traits.hpp
"
157
#include "
alpaka/mem/global/DeviceGlobalCpu.hpp
"
158
#include "
alpaka/mem/global/DeviceGlobalGenericSycl.hpp
"
159
#include "
alpaka/mem/global/DeviceGlobalUniformCudaHipBuiltIn.hpp
"
160
#include "
alpaka/mem/global/Traits.hpp
"
161
#include "
alpaka/mem/view/Traits.hpp
"
162
#include "
alpaka/mem/view/ViewConst.hpp
"
163
#include "
alpaka/mem/view/ViewPlainPtr.hpp
"
164
#include "
alpaka/mem/view/ViewStdArray.hpp
"
165
#include "
alpaka/mem/view/ViewStdVector.hpp
"
166
#include "
alpaka/mem/view/ViewSubView.hpp
"
167
// meta
168
#include "
alpaka/meta/Apply.hpp
"
169
#include "
alpaka/meta/CartesianProduct.hpp
"
170
#include "
alpaka/meta/Concatenate.hpp
"
171
#include "
alpaka/meta/DependentFalseType.hpp
"
172
#include "
alpaka/meta/Filter.hpp
"
173
#include "
alpaka/meta/Fold.hpp
"
174
#include "
alpaka/meta/ForEachType.hpp
"
175
#include "
alpaka/meta/Functional.hpp
"
176
#include "
alpaka/meta/IntegerSequence.hpp
"
177
#include "
alpaka/meta/Integral.hpp
"
178
#include "
alpaka/meta/IsArrayOrVector.hpp
"
179
#include "
alpaka/meta/IsStrictBase.hpp
"
180
#include "
alpaka/meta/NdLoop.hpp
"
181
#include "
alpaka/meta/NonZero.hpp
"
182
#include "
alpaka/meta/Set.hpp
"
183
#include "
alpaka/meta/Transform.hpp
"
184
#include "
alpaka/meta/TypeListOps.hpp
"
185
// offset
186
#include "
alpaka/offset/Traits.hpp
"
187
// platform
188
#include "
alpaka/platform/PlatformCpu.hpp
"
189
#include "
alpaka/platform/PlatformCpuSycl.hpp
"
190
#include "
alpaka/platform/PlatformCudaRt.hpp
"
191
#include "
alpaka/platform/PlatformFpgaSyclIntel.hpp
"
192
#include "
alpaka/platform/PlatformGpuSyclIntel.hpp
"
193
#include "
alpaka/platform/PlatformHipRt.hpp
"
194
#include "
alpaka/platform/Traits.hpp
"
195
// rand
196
#include "
alpaka/rand/RandDefault.hpp
"
197
#include "
alpaka/rand/RandGenericSycl.hpp
"
198
#include "
alpaka/rand/RandPhilox.hpp
"
199
#include "
alpaka/rand/RandStdLib.hpp
"
200
#include "
alpaka/rand/RandUniformCudaHipRand.hpp
"
201
#include "
alpaka/rand/Traits.hpp
"
202
// idx
203
#include "
alpaka/idx/Traits.hpp
"
204
// queue
205
#include "
alpaka/queue/Properties.hpp
"
206
#include "
alpaka/queue/QueueCpuBlocking.hpp
"
207
#include "
alpaka/queue/QueueCpuNonBlocking.hpp
"
208
#include "
alpaka/queue/QueueCpuSyclBlocking.hpp
"
209
#include "
alpaka/queue/QueueCpuSyclNonBlocking.hpp
"
210
#include "
alpaka/queue/QueueCudaRtBlocking.hpp
"
211
#include "
alpaka/queue/QueueCudaRtNonBlocking.hpp
"
212
#include "
alpaka/queue/QueueFpgaSyclIntelBlocking.hpp
"
213
#include "
alpaka/queue/QueueFpgaSyclIntelNonBlocking.hpp
"
214
#include "
alpaka/queue/QueueGpuSyclIntelBlocking.hpp
"
215
#include "
alpaka/queue/QueueGpuSyclIntelNonBlocking.hpp
"
216
#include "
alpaka/queue/QueueHipRtBlocking.hpp
"
217
#include "
alpaka/queue/QueueHipRtNonBlocking.hpp
"
218
#include "
alpaka/queue/Traits.hpp
"
219
// traits
220
#include "
alpaka/traits/Traits.hpp
"
221
// wait
222
#include "
alpaka/wait/Traits.hpp
"
223
// workdiv
224
#include "
alpaka/workdiv/Traits.hpp
"
225
#include "
alpaka/workdiv/WorkDivHelpers.hpp
"
226
#include "
alpaka/workdiv/WorkDivMembers.hpp
"
227
// vec
228
#include "
alpaka/vec/Traits.hpp
"
229
#include "
alpaka/vec/Vec.hpp
"
AccCpuOmp2Blocks.hpp
AccCpuOmp2Threads.hpp
AccCpuSerial.hpp
AccCpuSycl.hpp
AccCpuTbbBlocks.hpp
AccCpuThreads.hpp
AccDevProps.hpp
AccFpgaSyclIntel.hpp
AccGenericSycl.hpp
AccGpuCudaRt.hpp
AccGpuHipRt.hpp
AccGpuSyclIntel.hpp
Accessors.hpp
Align.hpp
AlignedAlloc.hpp
AllocCpuAligned.hpp
AllocCpuNew.hpp
Apply.hpp
Assert.hpp
AtomicCpu.hpp
AtomicGenericSycl.hpp
AtomicNoOp.hpp
AtomicOmpBuiltIn.hpp
AtomicUniformCudaHipBuiltIn.hpp
BarrierThread.hpp
BlockSharedMemDynGenericSycl.hpp
BlockSharedMemDynMember.hpp
BlockSharedMemDynUniformCudaHipBuiltIn.hpp
BlockSharedMemStGenericSycl.hpp
BlockSharedMemStMemberMasterSync.hpp
BlockSharedMemStMember.hpp
BlockSharedMemStUniformCudaHipBuiltIn.hpp
BlockSyncBarrierOmp.hpp
BlockSyncBarrierThread.hpp
BlockSyncGenericSycl.hpp
BlockSyncNoOp.hpp
BlockSyncUniformCudaHipBuiltIn.hpp
BoostPredef.hpp
BufCpuSycl.hpp
BufCpu.hpp
BufCudaRt.hpp
BufFpgaSyclIntel.hpp
BufGenericSycl.hpp
BufGpuSyclIntel.hpp
BufHipRt.hpp
CartesianProduct.hpp
ClipCast.hpp
Complex.hpp
Concatenate.hpp
Cuda.hpp
Debug.hpp
DependentFalseType.hpp
DevCpuSycl.hpp
DevCpu.hpp
DevCudaRt.hpp
DevFpgaSyclIntel.hpp
DevGenericSycl.hpp
DevGpuSyclIntel.hpp
DevHipRt.hpp
DeviceGlobalCpu.hpp
DeviceGlobalGenericSycl.hpp
DeviceGlobalUniformCudaHipBuiltIn.hpp
DimArithmetic.hpp
DimIntegralConst.hpp
ElementIndex.hpp
EventCpuSycl.hpp
EventCpu.hpp
EventCudaRt.hpp
EventFpgaSyclIntel.hpp
EventGenericSycl.hpp
EventGpuSyclIntel.hpp
EventHipRt.hpp
Filter.hpp
Fold.hpp
ForEachType.hpp
Functional.hpp
Hip.hpp
IdxBtGenericSycl.hpp
IdxBtOmp.hpp
IdxBtRefThreadIdMap.hpp
IdxBtUniformCudaHipBuiltIn.hpp
IdxBtZero.hpp
IdxGbGenericSycl.hpp
IdxGbRef.hpp
IdxGbUniformCudaHipBuiltIn.hpp
IndependentElements.hpp
IntegerSequence.hpp
Integral.hpp
Interface.hpp
IsArrayOrVector.hpp
IsStrictBase.hpp
MapIdx.hpp
MathGenericSycl.hpp
MathStdLib.hpp
MathUniformCudaHipBuiltIn.hpp
MemFenceCpuSerial.hpp
MemFenceCpu.hpp
MemFenceGenericSycl.hpp
MemFenceOmp2Blocks.hpp
MemFenceOmp2Threads.hpp
MemFenceUniformCudaHipBuiltIn.hpp
NdLoop.hpp
NonZero.hpp
OmpSchedule.hpp
Once.hpp
Op.hpp
PlatformCpuSycl.hpp
PlatformCpu.hpp
PlatformCudaRt.hpp
PlatformFpgaSyclIntel.hpp
PlatformGpuSyclIntel.hpp
PlatformHipRt.hpp
Positioning.hpp
Properties.hpp
QueueCpuBlocking.hpp
QueueCpuNonBlocking.hpp
QueueCpuSyclBlocking.hpp
QueueCpuSyclNonBlocking.hpp
QueueCudaRtBlocking.hpp
QueueCudaRtNonBlocking.hpp
QueueFpgaSyclIntelBlocking.hpp
QueueFpgaSyclIntelNonBlocking.hpp
QueueGpuSyclIntelBlocking.hpp
QueueGpuSyclIntelNonBlocking.hpp
QueueHipRtBlocking.hpp
QueueHipRtNonBlocking.hpp
RandDefault.hpp
RandGenericSycl.hpp
RandPhilox.hpp
RandStdLib.hpp
RandUniformCudaHipRand.hpp
RemoveRestrict.hpp
RuntimeMacros.hpp
Sycl.hpp
TagAccIsEnabled.hpp
Tag.hpp
TaskKernelCpuOmp2Blocks.hpp
TaskKernelCpuOmp2Threads.hpp
TaskKernelCpuSerial.hpp
TaskKernelCpuSycl.hpp
TaskKernelCpuTbbBlocks.hpp
TaskKernelCpuThreads.hpp
TaskKernelFpgaSyclIntel.hpp
TaskKernelGenericSycl.hpp
TaskKernelGpuCudaRt.hpp
TaskKernelGpuHipRt.hpp
TaskKernelGpuSyclIntel.hpp
ThreadPool.hpp
Transform.hpp
TypeListOps.hpp
UniformElements.hpp
Unreachable.hpp
Unroll.hpp
Utility.hpp
Vec.hpp
Vectorize.hpp
ViewConst.hpp
ViewPlainPtr.hpp
ViewStdArray.hpp
ViewStdVector.hpp
ViewSubView.hpp
Wait.hpp
WorkDivHelpers.hpp
WorkDivMembers.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Common.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Set.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
Traits.hpp
version.hpp
Traits.hpp
Traits.hpp
include
alpaka
alpaka.hpp
Generated on Thu Dec 12 2024 11:51:45 for alpaka by
1.9.1