From 4513a7a81cfd0e0e5547fe846f479310d80fd920 Mon Sep 17 00:00:00 2001 From: Julian Lenz Date: Mon, 28 Oct 2024 16:10:58 +0100 Subject: [PATCH 1/3] Remove alpaka to pull the latest release --- alpaka/.clang-format | 170 - alpaka/.dockerignore | 3 - alpaka/.github/workflows/ci.yml | 202 - alpaka/.github/workflows/gh-pages.yml | 27 - alpaka/.github/workflows/single-header.yml | 34 - alpaka/.gitignore | 62 - alpaka/.gitlab-ci.yml | 66 - alpaka/.readthedocs.yml | 25 - alpaka/.zenodo.json | 225 - alpaka/CHANGELOG.md | 918 - alpaka/CMakeLists.txt | 201 - alpaka/CMakePresets.json | 197 - alpaka/CONTRIBUTING.md | 20 - alpaka/LICENSE | 373 - alpaka/README.md | 260 - alpaka/README_SYCL.md | 133 - alpaka/cmake/addExecutable.cmake | 56 - alpaka/cmake/addLibrary.cmake | 57 - alpaka/cmake/alpakaCommon.cmake | 878 - alpaka/cmake/alpakaConfig.cmake.in | 65 - alpaka/cmake/common.cmake | 204 - alpaka/cmake/tests/MathConstants.cpp | 15 - alpaka/cmake/tests/StdAtomicRef.cpp | 15 - alpaka/docs/Doxyfile | 2573 -- alpaka/docs/Makefile | 22 - alpaka/docs/cheatsheet/README.md | 17 - alpaka/docs/cheatsheet/cheatsheet.style | 158 - alpaka/docs/logo/alpaka.pdf | Bin 2381 -> 0 bytes alpaka/docs/logo/alpaka.png | Bin 27534 -> 0 bytes alpaka/docs/logo/alpaka.svg | 64 - alpaka/docs/logo/alpaka_401x135.png | Bin 14785 -> 0 bytes alpaka/docs/logo/alpaka_doxygen.png | Bin 5925 -> 0 bytes alpaka/docs/logo/alpaka_inkscape.svg | 103 - alpaka/docs/requirements.txt | 14 - alpaka/docs/source/_static/custom.css | 3 - alpaka/docs/source/_static/general.css | 4 - alpaka/docs/source/advanced/cmake.rst | 360 - alpaka/docs/source/advanced/compiler.rst | 52 - alpaka/docs/source/advanced/mapping.rst | 111 - alpaka/docs/source/advanced/rationale.rst | 316 - alpaka/docs/source/basic/abstraction.rst | 275 - alpaka/docs/source/basic/cheatsheet.rst | 302 - alpaka/docs/source/basic/example.rst | 65 - alpaka/docs/source/basic/install.rst | 58 - alpaka/docs/source/basic/intro.rst | 62 - alpaka/docs/source/basic/library.rst | 253 - alpaka/docs/source/conf.py | 174 - alpaka/docs/source/dev/backends.rst | 678 - alpaka/docs/source/dev/ci.rst | 189 - alpaka/docs/source/dev/details.rst | 258 - alpaka/docs/source/dev/sphinx.rst | 105 - alpaka/docs/source/dev/style.rst | 150 - alpaka/docs/source/dev/test.rst | 93 - .../docs/source/images/arch_gitlab_mirror.png | Bin 53025 -> 0 bytes .../docs/source/images/arch_gitlab_mirror.svg | 2633 -- alpaka/docs/source/images/block.png | Bin 79386 -> 0 bytes alpaka/docs/source/images/block_scale.png | Bin 56667 -> 0 bytes alpaka/docs/source/images/element.png | Bin 17754 -> 0 bytes .../docs/source/images/execution_domain.png | Bin 25138 -> 0 bytes .../docs/source/images/execution_domain.svg | 216 - .../docs/source/images/job_generator_flow.png | Bin 241617 -> 0 bytes .../docs/source/images/job_generator_flow.svg | 1086 - alpaka/docs/source/images/structure.png | Bin 146807 -> 0 bytes alpaka/docs/source/images/structure.svg | 7501 ------ alpaka/docs/source/images/structure_assoc.png | Bin 44965 -> 0 bytes alpaka/docs/source/images/structure_assoc.svg | 2072 -- alpaka/docs/source/images/thread.png | Bin 61721 -> 0 bytes alpaka/docs/source/images/warp.png | Bin 71863 -> 0 bytes alpaka/docs/source/images/x86_cpu.png | Bin 45242 -> 0 bytes alpaka/docs/source/images/x86_cpu_mapping.png | Bin 35114 -> 0 bytes alpaka/docs/source/index.rst | 79 - alpaka/docs/source/info/similar_projects.rst | 45 - alpaka/example/CMakeLists.txt | 34 - alpaka/example/babelstream/CMakeLists.txt | 25 - .../example/babelstream/src/AlpakaStream.cpp | 264 - alpaka/example/babelstream/src/AlpakaStream.h | 63 - alpaka/example/babelstream/src/LICENSE | 35 - alpaka/example/babelstream/src/README.md | 6 - alpaka/example/babelstream/src/Stream.h | 48 - alpaka/example/babelstream/src/main.cpp | 588 - alpaka/example/bufferCopy/CMakeLists.txt | 52 - alpaka/example/bufferCopy/src/bufferCopy.cpp | 264 - alpaka/example/complex/CMakeLists.txt | 47 - alpaka/example/complex/src/complex.cpp | 95 - alpaka/example/counterBasedRng/CMakeLists.txt | 53 - .../counterBasedRng/src/counterBasedRng.cpp | 237 - alpaka/example/heatEquation/CMakeLists.txt | 48 - .../example/heatEquation/src/heatEquation.cpp | 185 - alpaka/example/helloWorld/CMakeLists.txt | 47 - alpaka/example/helloWorld/src/helloWorld.cpp | 180 - .../example/helloWorldLambda/CMakeLists.txt | 47 - .../helloWorldLambda/src/helloWorldLambda.cpp | 140 - .../kernelSpecialization/CMakeLists.txt | 47 - .../src/kernelSpecialization.cpp | 105 - alpaka/example/ls/CMakeLists.txt | 21 - alpaka/example/ls/src/ls.cpp | 50 - .../monteCarloIntegration/CMakeLists.txt | 48 - .../src/monteCarloIntegration.cpp | 134 - alpaka/example/openMPSchedule/CMakeLists.txt | 47 - .../openMPSchedule/src/openMPSchedule.cpp | 142 - .../parallelLoopPatterns/CMakeLists.txt | 48 - .../src/parallelLoopPatterns.cpp | 446 - alpaka/example/randomCells2D/CMakeLists.txt | 48 - .../randomCells2D/src/randomCells2D.cpp | 289 - .../example/randomStrategies/CMakeLists.txt | 48 - .../randomStrategies/src/randomStrategies.cpp | 300 - alpaka/example/reduce/CMakeLists.txt | 50 - alpaka/example/reduce/README.md | 12 - alpaka/example/reduce/src/alpakaConfig.hpp | 116 - alpaka/example/reduce/src/iterator.hpp | 353 - alpaka/example/reduce/src/kernel.hpp | 132 - alpaka/example/reduce/src/reduce.cpp | 167 - .../example/tagSpecialization/CMakeLists.txt | 44 - .../src/tagSpecialization.cpp | 130 - alpaka/example/vectorAdd/CMakeLists.txt | 48 - alpaka/example/vectorAdd/src/vectorAdd.cpp | 210 - .../include/alpaka/acc/AccCpuOmp2Blocks.hpp | 212 - .../include/alpaka/acc/AccCpuOmp2Threads.hpp | 222 - alpaka/include/alpaka/acc/AccCpuSerial.hpp | 206 - alpaka/include/alpaka/acc/AccCpuSycl.hpp | 92 - alpaka/include/alpaka/acc/AccCpuTbbBlocks.hpp | 203 - alpaka/include/alpaka/acc/AccCpuThreads.hpp | 230 - alpaka/include/alpaka/acc/AccDevProps.hpp | 59 - .../include/alpaka/acc/AccFpgaSyclIntel.hpp | 92 - alpaka/include/alpaka/acc/AccGenericSycl.hpp | 157 - alpaka/include/alpaka/acc/AccGpuCudaRt.hpp | 34 - alpaka/include/alpaka/acc/AccGpuHipRt.hpp | 34 - alpaka/include/alpaka/acc/AccGpuSyclIntel.hpp | 92 - .../alpaka/acc/AccGpuUniformCudaHipRt.hpp | 291 - alpaka/include/alpaka/acc/Tag.hpp | 58 - alpaka/include/alpaka/acc/Traits.hpp | 85 - alpaka/include/alpaka/alpaka.hpp | 219 - .../include/alpaka/atomic/AtomicAtomicRef.hpp | 230 - alpaka/include/alpaka/atomic/AtomicCpu.hpp | 24 - .../alpaka/atomic/AtomicGenericSycl.hpp | 311 - .../include/alpaka/atomic/AtomicHierarchy.hpp | 34 - alpaka/include/alpaka/atomic/AtomicNoOp.hpp | 37 - .../alpaka/atomic/AtomicOmpBuiltIn.hpp | 320 - .../alpaka/atomic/AtomicStdLibLock.hpp | 103 - .../alpaka/atomic/AtomicUniformCudaHip.hpp | 512 - .../atomic/AtomicUniformCudaHipBuiltIn.hpp | 321 - alpaka/include/alpaka/atomic/Op.hpp | 249 - alpaka/include/alpaka/atomic/Traits.hpp | 304 - .../dyn/BlockSharedDynMemberAllocKiB.hpp | 15 - .../dyn/BlockSharedMemDynGenericSycl.hpp | 43 - .../shared/dyn/BlockSharedMemDynMember.hpp | 113 - ...BlockSharedMemDynUniformCudaHipBuiltIn.hpp | 54 - .../alpaka/block/shared/dyn/Traits.hpp | 44 - .../shared/st/BlockSharedMemStGenericSycl.hpp | 67 - .../shared/st/BlockSharedMemStMember.hpp | 59 - .../st/BlockSharedMemStMemberMasterSync.hpp | 86 - .../BlockSharedMemStUniformCudaHipBuiltIn.hpp | 60 - .../include/alpaka/block/shared/st/Traits.hpp | 59 - .../st/detail/BlockSharedMemStMemberImpl.hpp | 145 - .../alpaka/block/sync/BlockSyncBarrierOmp.hpp | 109 - .../block/sync/BlockSyncBarrierThread.hpp | 62 - .../block/sync/BlockSyncGenericSycl.hpp | 79 - .../alpaka/block/sync/BlockSyncNoOp.hpp | 40 - .../sync/BlockSyncUniformCudaHipBuiltIn.hpp | 122 - alpaka/include/alpaka/block/sync/Traits.hpp | 107 - alpaka/include/alpaka/core/Align.hpp | 65 - alpaka/include/alpaka/core/AlignedAlloc.hpp | 23 - alpaka/include/alpaka/core/ApiCudaRt.hpp | 394 - alpaka/include/alpaka/core/ApiHipRt.hpp | 433 - alpaka/include/alpaka/core/Assert.hpp | 105 - alpaka/include/alpaka/core/BarrierThread.hpp | 168 - alpaka/include/alpaka/core/BoostPredef.hpp | 79 - alpaka/include/alpaka/core/CallbackThread.hpp | 171 - alpaka/include/alpaka/core/ClipCast.hpp | 27 - alpaka/include/alpaka/core/Common.hpp | 187 - alpaka/include/alpaka/core/Concepts.hpp | 67 - alpaka/include/alpaka/core/Cuda.hpp | 58 - alpaka/include/alpaka/core/CudaHipCommon.hpp | 161 - alpaka/include/alpaka/core/Debug.hpp | 77 - alpaka/include/alpaka/core/Decay.hpp | 16 - .../include/alpaka/core/DemangleTypeNames.hpp | 23 - alpaka/include/alpaka/core/Hip.hpp | 14 - alpaka/include/alpaka/core/OmpSchedule.hpp | 88 - alpaka/include/alpaka/core/Positioning.hpp | 49 - alpaka/include/alpaka/core/RemoveRestrict.hpp | 35 - alpaka/include/alpaka/core/Sycl.hpp | 199 - alpaka/include/alpaka/core/ThreadPool.hpp | 93 - alpaka/include/alpaka/core/UniformCudaHip.hpp | 112 - alpaka/include/alpaka/core/Unreachable.hpp | 25 - alpaka/include/alpaka/core/Unroll.hpp | 25 - alpaka/include/alpaka/core/Utility.hpp | 61 - alpaka/include/alpaka/core/Vectorize.hpp | 358 - alpaka/include/alpaka/dev/DevCpu.hpp | 207 - alpaka/include/alpaka/dev/DevCpuSycl.hpp | 17 - alpaka/include/alpaka/dev/DevCudaRt.hpp | 18 - .../include/alpaka/dev/DevFpgaSyclIntel.hpp | 17 - alpaka/include/alpaka/dev/DevGenericSycl.hpp | 260 - alpaka/include/alpaka/dev/DevGpuSyclIntel.hpp | 17 - alpaka/include/alpaka/dev/DevHipRt.hpp | 18 - .../alpaka/dev/DevUniformCudaHipRt.hpp | 268 - alpaka/include/alpaka/dev/Traits.hpp | 140 - .../alpaka/dev/common/QueueRegistry.hpp | 59 - alpaka/include/alpaka/dev/cpu/SysInfo.hpp | 237 - alpaka/include/alpaka/dev/cpu/Wait.hpp | 27 - alpaka/include/alpaka/dim/DimArithmetic.hpp | 19 - .../include/alpaka/dim/DimIntegralConst.hpp | 16 - alpaka/include/alpaka/dim/Traits.hpp | 20 - alpaka/include/alpaka/elem/Traits.hpp | 33 - alpaka/include/alpaka/event/EventCpu.hpp | 13 - alpaka/include/alpaka/event/EventCpuSycl.hpp | 17 - alpaka/include/alpaka/event/EventCudaRt.hpp | 18 - .../alpaka/event/EventFpgaSyclIntel.hpp | 17 - .../include/alpaka/event/EventGenericSycl.hpp | 161 - .../alpaka/event/EventGenericThreads.hpp | 395 - .../alpaka/event/EventGpuSyclIntel.hpp | 17 - alpaka/include/alpaka/event/EventHipRt.hpp | 18 - .../alpaka/event/EventUniformCudaHipRt.hpp | 263 - alpaka/include/alpaka/event/Traits.hpp | 38 - .../alpaka/example/ExampleDefaultAcc.hpp | 41 - alpaka/include/alpaka/extent/Traits.hpp | 162 - alpaka/include/alpaka/idx/Accessors.hpp | 116 - alpaka/include/alpaka/idx/MapIdx.hpp | 98 - alpaka/include/alpaka/idx/Traits.hpp | 44 - .../alpaka/idx/bt/IdxBtGenericSycl.hpp | 77 - alpaka/include/alpaka/idx/bt/IdxBtLinear.hpp | 72 - alpaka/include/alpaka/idx/bt/IdxBtOmp.hpp | 77 - .../alpaka/idx/bt/IdxBtRefThreadIdMap.hpp | 77 - .../idx/bt/IdxBtUniformCudaHipBuiltIn.hpp | 81 - alpaka/include/alpaka/idx/bt/IdxBtZero.hpp | 53 - .../alpaka/idx/gb/IdxGbGenericSycl.hpp | 77 - alpaka/include/alpaka/idx/gb/IdxGbLinear.hpp | 73 - alpaka/include/alpaka/idx/gb/IdxGbRef.hpp | 59 - .../idx/gb/IdxGbUniformCudaHipBuiltIn.hpp | 81 - .../include/alpaka/intrinsic/IntrinsicCpu.hpp | 88 - .../alpaka/intrinsic/IntrinsicFallback.hpp | 77 - .../alpaka/intrinsic/IntrinsicGenericSycl.hpp | 57 - .../IntrinsicUniformCudaHipBuiltIn.hpp | 78 - alpaka/include/alpaka/intrinsic/Traits.hpp | 84 - .../alpaka/kernel/SyclSubgroupSize.hpp | 97 - .../alpaka/kernel/TaskKernelCpuOmp2Blocks.hpp | 952 - .../kernel/TaskKernelCpuOmp2Threads.hpp | 198 - .../alpaka/kernel/TaskKernelCpuSerial.hpp | 143 - .../alpaka/kernel/TaskKernelCpuSycl.hpp | 20 - .../alpaka/kernel/TaskKernelCpuTbbBlocks.hpp | 155 - .../alpaka/kernel/TaskKernelCpuThreads.hpp | 206 - .../alpaka/kernel/TaskKernelFpgaSyclIntel.hpp | 21 - .../alpaka/kernel/TaskKernelGenericSycl.hpp | 283 - .../alpaka/kernel/TaskKernelGpuCudaRt.hpp | 18 - .../alpaka/kernel/TaskKernelGpuHipRt.hpp | 18 - .../alpaka/kernel/TaskKernelGpuSyclIntel.hpp | 21 - .../kernel/TaskKernelGpuUniformCudaHipRt.hpp | 398 - alpaka/include/alpaka/kernel/Traits.hpp | 314 - alpaka/include/alpaka/math/Complex.hpp | 573 - .../include/alpaka/math/FloatEqualExact.hpp | 50 - .../include/alpaka/math/MathGenericSycl.hpp | 751 - alpaka/include/alpaka/math/MathStdLib.hpp | 299 - .../alpaka/math/MathUniformCudaHipBuiltIn.hpp | 1373 - alpaka/include/alpaka/math/Traits.hpp | 1488 -- .../alpaka/mem/alloc/AllocCpuAligned.hpp | 67 - .../include/alpaka/mem/alloc/AllocCpuNew.hpp | 39 - alpaka/include/alpaka/mem/alloc/Traits.hpp | 46 - alpaka/include/alpaka/mem/buf/BufCpu.hpp | 314 - alpaka/include/alpaka/mem/buf/BufCpuSycl.hpp | 18 - alpaka/include/alpaka/mem/buf/BufCudaRt.hpp | 18 - .../alpaka/mem/buf/BufFpgaSyclIntel.hpp | 18 - .../include/alpaka/mem/buf/BufGenericSycl.hpp | 266 - .../alpaka/mem/buf/BufGpuSyclIntel.hpp | 18 - alpaka/include/alpaka/mem/buf/BufHipRt.hpp | 18 - .../alpaka/mem/buf/BufUniformCudaHipRt.hpp | 422 - alpaka/include/alpaka/mem/buf/SetKernel.hpp | 58 - alpaka/include/alpaka/mem/buf/Traits.hpp | 192 - alpaka/include/alpaka/mem/buf/cpu/Copy.hpp | 220 - alpaka/include/alpaka/mem/buf/cpu/Set.hpp | 186 - alpaka/include/alpaka/mem/buf/sycl/Common.hpp | 57 - alpaka/include/alpaka/mem/buf/sycl/Copy.hpp | 240 - alpaka/include/alpaka/mem/buf/sycl/Set.hpp | 212 - .../alpaka/mem/buf/uniformCudaHip/Copy.hpp | 643 - .../alpaka/mem/buf/uniformCudaHip/Set.hpp | 385 - .../include/alpaka/mem/fence/MemFenceCpu.hpp | 61 - .../alpaka/mem/fence/MemFenceCpuSerial.hpp | 49 - .../alpaka/mem/fence/MemFenceGenericSycl.hpp | 60 - .../alpaka/mem/fence/MemFenceOmp2Blocks.hpp | 54 - .../alpaka/mem/fence/MemFenceOmp2Threads.hpp | 68 - .../fence/MemFenceUniformCudaHipBuiltIn.hpp | 65 - alpaka/include/alpaka/mem/fence/Traits.hpp | 66 - alpaka/include/alpaka/mem/view/Traits.hpp | 624 - .../include/alpaka/mem/view/ViewAccessOps.hpp | 151 - alpaka/include/alpaka/mem/view/ViewConst.hpp | 115 - .../include/alpaka/mem/view/ViewPlainPtr.hpp | 241 - .../include/alpaka/mem/view/ViewStdArray.hpp | 94 - .../include/alpaka/mem/view/ViewStdVector.hpp | 92 - .../include/alpaka/mem/view/ViewSubView.hpp | 217 - alpaka/include/alpaka/meta/Apply.hpp | 22 - .../include/alpaka/meta/CartesianProduct.hpp | 84 - alpaka/include/alpaka/meta/Concatenate.hpp | 29 - .../alpaka/meta/CudaVectorArrayWrapper.hpp | 329 - .../alpaka/meta/DependentFalseType.hpp | 17 - alpaka/include/alpaka/meta/Filter.hpp | 44 - alpaka/include/alpaka/meta/Fold.hpp | 24 - alpaka/include/alpaka/meta/ForEachType.hpp | 52 - alpaka/include/alpaka/meta/Functional.hpp | 30 - .../include/alpaka/meta/InheritFromList.hpp | 16 - .../include/alpaka/meta/IntegerSequence.hpp | 125 - alpaka/include/alpaka/meta/Integral.hpp | 56 - .../include/alpaka/meta/IsArrayOrVector.hpp | 62 - alpaka/include/alpaka/meta/IsStrictBase.hpp | 15 - alpaka/include/alpaka/meta/NdLoop.hpp | 85 - alpaka/include/alpaka/meta/NonZero.hpp | 27 - alpaka/include/alpaka/meta/Set.hpp | 60 - alpaka/include/alpaka/meta/Transform.hpp | 22 - alpaka/include/alpaka/meta/TypeListOps.hpp | 38 - alpaka/include/alpaka/meta/Unique.hpp | 41 - alpaka/include/alpaka/offset/Traits.hpp | 132 - .../include/alpaka/platform/PlatformCpu.hpp | 69 - .../alpaka/platform/PlatformCpuSycl.hpp | 44 - .../alpaka/platform/PlatformCudaRt.hpp | 18 - .../alpaka/platform/PlatformFpgaSyclIntel.hpp | 62 - .../alpaka/platform/PlatformGenericSycl.hpp | 723 - .../alpaka/platform/PlatformGpuSyclIntel.hpp | 47 - .../include/alpaka/platform/PlatformHipRt.hpp | 18 - .../platform/PlatformUniformCudaHipRt.hpp | 265 - alpaka/include/alpaka/platform/Traits.hpp | 94 - alpaka/include/alpaka/queue/Properties.hpp | 20 - .../include/alpaka/queue/QueueCpuBlocking.hpp | 13 - .../alpaka/queue/QueueCpuNonBlocking.hpp | 13 - .../alpaka/queue/QueueCpuSyclBlocking.hpp | 17 - .../alpaka/queue/QueueCpuSyclNonBlocking.hpp | 17 - .../alpaka/queue/QueueCudaRtBlocking.hpp | 18 - .../alpaka/queue/QueueCudaRtNonBlocking.hpp | 18 - .../queue/QueueFpgaSyclIntelBlocking.hpp | 17 - .../queue/QueueFpgaSyclIntelNonBlocking.hpp | 17 - .../alpaka/queue/QueueGenericSyclBlocking.hpp | 17 - .../queue/QueueGenericSyclNonBlocking.hpp | 17 - .../queue/QueueGenericThreadsBlocking.hpp | 166 - .../queue/QueueGenericThreadsNonBlocking.hpp | 156 - .../queue/QueueGpuSyclIntelBlocking.hpp | 17 - .../queue/QueueGpuSyclIntelNonBlocking.hpp | 17 - .../alpaka/queue/QueueHipRtBlocking.hpp | 18 - .../alpaka/queue/QueueHipRtNonBlocking.hpp | 18 - .../queue/QueueUniformCudaHipRtBlocking.hpp | 19 - .../QueueUniformCudaHipRtNonBlocking.hpp | 19 - alpaka/include/alpaka/queue/Traits.hpp | 71 - alpaka/include/alpaka/queue/cpu/ICpuQueue.hpp | 14 - .../alpaka/queue/cpu/IGenericThreadsQueue.hpp | 35 - .../queue/cuda_hip/QueueUniformCudaHipRt.hpp | 245 - .../queue/sycl/QueueGenericSyclBase.hpp | 281 - .../rand/Philox/MultiplyAndSplit64to32.hpp | 43 - .../alpaka/rand/Philox/PhiloxBaseCommon.hpp | 91 - .../rand/Philox/PhiloxBaseCudaArray.hpp | 65 - .../alpaka/rand/Philox/PhiloxBaseStdArray.hpp | 26 - .../alpaka/rand/Philox/PhiloxBaseTraits.hpp | 93 - .../alpaka/rand/Philox/PhiloxConstants.hpp | 64 - .../alpaka/rand/Philox/PhiloxSingle.hpp | 142 - .../alpaka/rand/Philox/PhiloxStateless.hpp | 125 - .../rand/Philox/PhiloxStatelessKeyedBase.hpp | 37 - .../rand/Philox/PhiloxStatelessVector.hpp | 26 - .../alpaka/rand/Philox/PhiloxVector.hpp | 98 - alpaka/include/alpaka/rand/RandDefault.hpp | 216 - .../include/alpaka/rand/RandGenericSycl.hpp | 198 - alpaka/include/alpaka/rand/RandPhilox.hpp | 203 - .../alpaka/rand/RandPhiloxStateless.hpp | 34 - alpaka/include/alpaka/rand/RandStdLib.hpp | 279 - .../alpaka/rand/RandUniformCudaHipRand.hpp | 283 - alpaka/include/alpaka/rand/TinyMT/Engine.hpp | 66 - alpaka/include/alpaka/rand/TinyMT/LICENSE.txt | 38 - alpaka/include/alpaka/rand/TinyMT/tinymt32.h | 429 - alpaka/include/alpaka/rand/Traits.hpp | 100 - .../alpaka/standalone/CpuOmp2Blocks.hpp | 9 - .../alpaka/standalone/CpuOmp2Threads.hpp | 9 - .../include/alpaka/standalone/CpuSerial.hpp | 9 - alpaka/include/alpaka/standalone/CpuSycl.hpp | 13 - .../alpaka/standalone/CpuTbbBlocks.hpp | 9 - .../include/alpaka/standalone/CpuThreads.hpp | 9 - .../alpaka/standalone/FpgaSyclIntel.hpp | 13 - .../include/alpaka/standalone/GenericSycl.hpp | 9 - .../include/alpaka/standalone/GpuCudaRt.hpp | 21 - alpaka/include/alpaka/standalone/GpuHipRt.hpp | 9 - .../alpaka/standalone/GpuSyclIntel.hpp | 13 - alpaka/include/alpaka/test/Array.hpp | 29 - alpaka/include/alpaka/test/Check.hpp | 19 - alpaka/include/alpaka/test/Extent.hpp | 42 - .../alpaka/test/KernelExecutionFixture.hpp | 79 - .../alpaka/test/MeasureKernelRunTime.hpp | 47 - alpaka/include/alpaka/test/acc/TestAccs.hpp | 182 - alpaka/include/alpaka/test/dim/TestDims.hpp | 34 - .../test/event/EventHostManualTrigger.hpp | 784 - alpaka/include/alpaka/test/idx/TestIdxs.hpp | 28 - .../include/alpaka/test/mem/view/Iterator.hpp | 143 - .../include/alpaka/test/mem/view/ViewTest.hpp | 264 - alpaka/include/alpaka/test/queue/Queue.hpp | 196 - .../test/queue/QueueCpuOmp2Collective.hpp | 297 - .../alpaka/test/queue/QueueTestFixture.hpp | 23 - alpaka/include/alpaka/traits/Traits.hpp | 37 - alpaka/include/alpaka/vec/Traits.hpp | 102 - alpaka/include/alpaka/vec/Vec.hpp | 793 - alpaka/include/alpaka/version.hpp | 14 - alpaka/include/alpaka/wait/Traits.hpp | 50 - alpaka/include/alpaka/warp/Traits.hpp | 317 - .../include/alpaka/warp/WarpGenericSycl.hpp | 200 - .../include/alpaka/warp/WarpSingleThread.hpp | 121 - .../alpaka/warp/WarpUniformCudaHipBuiltIn.hpp | 189 - alpaka/include/alpaka/workdiv/Traits.hpp | 77 - .../alpaka/workdiv/WorkDivGenericSycl.hpp | 119 - .../include/alpaka/workdiv/WorkDivHelpers.hpp | 384 - .../include/alpaka/workdiv/WorkDivMembers.hpp | 138 - .../workdiv/WorkDivUniformCudaHipBuiltIn.hpp | 117 - alpaka/script/after_failure.sh | 16 - alpaka/script/before_install.sh | 102 - alpaka/script/ci.sh | 20 - alpaka/script/create-single-header.sh | 9 - alpaka/script/docker_ci.sh | 203 - alpaka/script/docker_retry.sh | 31 - alpaka/script/gitlab_ci_run.sh | 20 - alpaka/script/gitlabci/fake_sudo.sh | 10 - alpaka/script/gitlabci/job_analysis.yml | 14 - alpaka/script/gitlabci/job_base.yml | 111 - alpaka/script/gitlabci/job_clang.yml | 33 - alpaka/script/gitlabci/job_cuda.yml | 27 - alpaka/script/gitlabci/print_env.sh | 47 - alpaka/script/homebrew/13.2.1/libomp.rb | 65 - alpaka/script/homebrew/14.2/libomp.rb | 75 - alpaka/script/homebrew/14.3.1/libomp.rb | 83 - alpaka/script/install.sh | 106 - alpaka/script/install_analysis.sh | 36 - alpaka/script/install_boost.sh | 208 - alpaka/script/install_clang.sh | 71 - alpaka/script/install_cmake.sh | 51 - alpaka/script/install_cuda.sh | 174 - alpaka/script/install_doxygen.sh | 12 - alpaka/script/install_gcc.sh | 32 - alpaka/script/install_hip.sh | 90 - alpaka/script/install_omp.sh | 20 - alpaka/script/install_oneapi.sh | 50 - alpaka/script/install_tbb.sh | 45 - alpaka/script/job_generator/alpaka_filter.py | 58 - alpaka/script/job_generator/alpaka_globals.py | 28 - alpaka/script/job_generator/custom_job.py | 72 - .../script/job_generator/generate_job_yaml.py | 706 - alpaka/script/job_generator/job_generator.py | 206 - alpaka/script/job_generator/job_modifier.py | 154 - alpaka/script/job_generator/reorder_jobs.py | 23 - alpaka/script/job_generator/requirements.txt | 6 - alpaka/script/job_generator/util.py | 32 - alpaka/script/job_generator/verify.py | 153 - alpaka/script/job_generator/versions.py | 175 - alpaka/script/prepare_sanitizers.sh | 121 - alpaka/script/print_env.sh | 27 - alpaka/script/push_doc.sh | 23 - alpaka/script/run.sh | 156 - alpaka/script/run_analysis.sh | 25 - alpaka/script/run_build.sh | 25 - alpaka/script/run_doxygen.sh | 30 - alpaka/script/run_generate.sh | 96 - alpaka/script/run_install.sh | 16 - alpaka/script/run_tests.sh | 44 - alpaka/script/set.sh | 14 - alpaka/script/travis_retry.sh | 46 - alpaka/test/CMakeLists.txt | 19 - alpaka/test/analysis/CMakeLists.txt | 18 - .../test/analysis/headerCheck/CMakeLists.txt | 50 - alpaka/test/analysis/headerCheck/src/main.cpp | 10 - alpaka/test/common/CMakeLists.txt | 58 - alpaka/test/common/devCompileOptions.cmake | 195 - alpaka/test/integ/CMakeLists.txt | 25 - alpaka/test/integ/axpy/CMakeLists.txt | 19 - alpaka/test/integ/axpy/src/axpy.cpp | 195 - alpaka/test/integ/cudaOnly/CMakeLists.txt | 21 - .../cudaOnly/src/cudaNativeFunctions.cpp | 53 - alpaka/test/integ/hostOnlyAPI/CMakeLists.txt | 23 - .../integ/hostOnlyAPI/src/hostOnlyAPI.cpp | 126 - alpaka/test/integ/mandelbrot/CMakeLists.txt | 19 - .../test/integ/mandelbrot/src/mandelbrot.cpp | 353 - alpaka/test/integ/matMul/CMakeLists.txt | 19 - alpaka/test/integ/matMul/src/matMul.cpp | 305 - .../integ/separableCompilation/CMakeLists.txt | 31 - .../separableCompilation/include/mysqrt.hpp | 7 - .../integ/separableCompilation/src/main.cpp | 158 - .../integ/separableCompilation/src/mysqrt.cpp | 49 - alpaka/test/integ/sharedMem/CMakeLists.txt | 19 - alpaka/test/integ/sharedMem/src/sharedMem.cpp | 185 - .../test/integ/zeroDimBuffer/CMakeLists.txt | 21 - .../integ/zeroDimBuffer/src/zeroDimBuffer.cpp | 141 - alpaka/test/unit/CMakeLists.txt | 39 - alpaka/test/unit/acc/CMakeLists.txt | 19 - alpaka/test/unit/acc/src/AccDevPropsTest.cpp | 27 - alpaka/test/unit/acc/src/AccNameTest.cpp | 15 - alpaka/test/unit/acc/src/AccTagTest.cpp | 250 - alpaka/test/unit/atomic/CMakeLists.txt | 20 - alpaka/test/unit/atomic/src/AtomicTest.cpp | 416 - alpaka/test/unit/block/shared/CMakeLists.txt | 20 - .../block/shared/src/BlockSharedMemDyn.cpp | 65 - .../block/shared/src/BlockSharedMemSt.cpp | 135 - .../unit/block/sharedSharing/CMakeLists.txt | 20 - .../src/BlockSharedMemSharing.cpp | 148 - alpaka/test/unit/block/sync/CMakeLists.txt | 20 - alpaka/test/unit/block/sync/src/BlockSync.cpp | 81 - .../block/sync/src/BlockSyncPredicate.cpp | 101 - alpaka/test/unit/core/CMakeLists.txt | 24 - alpaka/test/unit/core/src/BoostPredefTest.cpp | 58 - alpaka/test/unit/core/src/CallbackThread.cpp | 61 - alpaka/test/unit/core/src/ClipCastTest.cpp | 94 - alpaka/test/unit/core/src/ConceptsTest.cpp | 149 - alpaka/test/unit/core/src/OmpScheduleTest.cpp | 56 - alpaka/test/unit/core/src/ThreadPool.cpp | 31 - alpaka/test/unit/core/src/Utility.cpp | 31 - alpaka/test/unit/dev/CMakeLists.txt | 19 - alpaka/test/unit/dev/src/DevWarpSizeTest.cpp | 31 - alpaka/test/unit/event/CMakeLists.txt | 19 - alpaka/test/unit/event/src/EventTest.cpp | 506 - alpaka/test/unit/idx/CMakeLists.txt | 19 - alpaka/test/unit/idx/src/MapIdx.cpp | 28 - alpaka/test/unit/idx/src/MapIdxPitchBytes.cpp | 47 - alpaka/test/unit/intrinsic/CMakeLists.txt | 20 - alpaka/test/unit/intrinsic/src/Ffs.cpp | 73 - alpaka/test/unit/intrinsic/src/Popcount.cpp | 67 - alpaka/test/unit/kernel/CMakeLists.txt | 20 - .../unit/kernel/src/KernelGenericLambda.cpp | 49 - alpaka/test/unit/kernel/src/KernelLambda.cpp | 95 - .../kernel/src/KernelWithAdditionalParam.cpp | 59 - .../src/KernelWithConstructorAndMember.cpp | 55 - .../kernel/src/KernelWithHostConstexpr.cpp | 47 - .../unit/kernel/src/KernelWithOmpSchedule.cpp | 147 - .../unit/kernel/src/KernelWithTemplate.cpp | 70 - .../KernelWithTemplateArgumentDeduction.cpp | 171 - .../src/KernelWithoutTemplatedAccParam.cpp | 128 - alpaka/test/unit/math/CMakeLists.txt | 30 - alpaka/test/unit/math/src/Buffer.hpp | 100 - alpaka/test/unit/math/src/DataGen.hpp | 201 - alpaka/test/unit/math/src/Defines.hpp | 110 - .../unit/math/src/FloatEqualExactTest.cpp | 58 - alpaka/test/unit/math/src/Functor.hpp | 357 - alpaka/test/unit/math/src/TestTemplate.hpp | 183 - alpaka/test/unit/math/src/mathADL.cpp | 418 - .../test/unit/math/src/mathComplexDouble.cpp | 55 - .../test/unit/math/src/mathComplexFloat.cpp | 55 - alpaka/test/unit/math/src/mathDouble.cpp | 29 - alpaka/test/unit/math/src/mathFloat.cpp | 75 - alpaka/test/unit/math/src/mathLambda.cpp | 84 - alpaka/test/unit/math/src/powMixedTypes.cpp | 107 - alpaka/test/unit/math/src/sincos.cpp | 54 - alpaka/test/unit/mem/buf/CMakeLists.txt | 20 - alpaka/test/unit/mem/buf/src/BufTest.cpp | 287 - alpaka/test/unit/mem/copy/CMakeLists.txt | 26 - alpaka/test/unit/mem/copy/src/BufSlicing.cpp | 214 - alpaka/test/unit/mem/fence/CMakeLists.txt | 26 - alpaka/test/unit/mem/fence/src/FenceTest.cpp | 217 - alpaka/test/unit/mem/p2p/CMakeLists.txt | 19 - alpaka/test/unit/mem/p2p/src/P2P.cpp | 61 - alpaka/test/unit/mem/view/CMakeLists.txt | 20 - alpaka/test/unit/mem/view/src/MdSpan.cpp | 155 - alpaka/test/unit/mem/view/src/ViewConst.cpp | 113 - .../unit/mem/view/src/ViewPlainPtrTest.cpp | 157 - .../unit/mem/view/src/ViewStaticAccMem.cpp | 142 - .../unit/mem/view/src/ViewSubViewTest.cpp | 227 - alpaka/test/unit/meta/CMakeLists.txt | 19 - alpaka/test/unit/meta/src/ApplyTest.cpp | 26 - .../unit/meta/src/CartesianProductTest.cpp | 32 - alpaka/test/unit/meta/src/ConcatenateTest.cpp | 24 - .../meta/src/CudaVectorArrayWrapperTest.cpp | 167 - alpaka/test/unit/meta/src/FilterTest.cpp | 21 - alpaka/test/unit/meta/src/IntegralTest.cpp | 1065 - .../unit/meta/src/IsArrayOrVectorTest.cpp | 47 - .../test/unit/meta/src/IsStrictBaseTest.cpp | 58 - alpaka/test/unit/meta/src/SetTest.cpp | 32 - alpaka/test/unit/meta/src/TransformTest.cpp | 35 - alpaka/test/unit/meta/src/TypeListOpsTest.cpp | 28 - alpaka/test/unit/meta/src/UniqueTest.cpp | 32 - alpaka/test/unit/queue/CMakeLists.txt | 19 - .../test/unit/queue/src/CollectiveQueue.cpp | 131 - alpaka/test/unit/queue/src/QueueTest.cpp | 271 - alpaka/test/unit/rand/CMakeLists.txt | 20 - alpaka/test/unit/rand/src/RandTest.cpp | 123 - alpaka/test/unit/traits/CMakeLists.txt | 19 - .../test/unit/traits/src/NativeHandleTest.cpp | 25 - alpaka/test/unit/vec/CMakeLists.txt | 19 - alpaka/test/unit/vec/src/VecTest.cpp | 470 - alpaka/test/unit/warp/CMakeLists.txt | 20 - alpaka/test/unit/warp/src/Activemask.cpp | 143 - alpaka/test/unit/warp/src/All.cpp | 116 - alpaka/test/unit/warp/src/Any.cpp | 116 - alpaka/test/unit/warp/src/Ballot.cpp | 124 - alpaka/test/unit/warp/src/GetSize.cpp | 68 - alpaka/test/unit/warp/src/Shfl.cpp | 146 - alpaka/test/unit/warp/src/ShflDown.cpp | 175 - alpaka/test/unit/warp/src/ShflUp.cpp | 167 - alpaka/test/unit/warp/src/ShflXor.cpp | 152 - alpaka/test/unit/workDiv/CMakeLists.txt | 19 - .../unit/workDiv/src/WorkDivHelpersTest.cpp | 141 - alpaka/thirdParty/.clang-format | 4 - alpaka/thirdParty/CMakeLists.txt | 45 - alpaka/thirdParty/catch2/.bazelrc | 10 - alpaka/thirdParty/catch2/.clang-format | 45 - .../catch2/.conan/test_package/CMakeLists.txt | 12 - .../catch2/.conan/test_package/conanfile.py | 20 - .../.conan/test_package/test_package.cpp | 13 - alpaka/thirdParty/catch2/.gitattributes | 22 - alpaka/thirdParty/catch2/.github/FUNDING.yml | 2 - .../.github/ISSUE_TEMPLATE/bug_report.md | 29 - .../.github/ISSUE_TEMPLATE/feature_request.md | 14 - .../catch2/.github/pull_request_template.md | 28 - .../.github/workflows/linux-bazel-builds.yml | 24 - .../.github/workflows/linux-meson-builds.yml | 43 - .../.github/workflows/linux-other-builds.yml | 104 - .../.github/workflows/linux-simple-builds.yml | 122 - .../catch2/.github/workflows/mac-builds.yml | 52 - .../workflows/validate-header-guards.yml | 36 - .../workflows/windows-simple-builds.yml | 37 - alpaka/thirdParty/catch2/.gitignore | 37 - alpaka/thirdParty/catch2/BUILD.bazel | 92 - .../catch2/CMake/Catch2Config.cmake.in | 10 - .../catch2/CMake/CatchConfigOptions.cmake | 79 - .../catch2/CMake/CatchMiscFunctions.cmake | 120 - alpaka/thirdParty/catch2/CMake/FindGcov.cmake | 157 - alpaka/thirdParty/catch2/CMake/FindLcov.cmake | 354 - .../thirdParty/catch2/CMake/Findcodecov.cmake | 258 - .../catch2/CMake/catch2-with-main.pc.in | 10 - alpaka/thirdParty/catch2/CMake/catch2.pc.in | 11 - .../thirdParty/catch2/CMake/llvm-cov-wrapper | 56 - alpaka/thirdParty/catch2/CMakeLists.txt | 199 - alpaka/thirdParty/catch2/CMakePresets.json | 25 - alpaka/thirdParty/catch2/CODE_OF_CONDUCT.md | 46 - alpaka/thirdParty/catch2/Doxyfile | 2484 -- alpaka/thirdParty/catch2/LICENSE.txt | 23 - alpaka/thirdParty/catch2/README.md | 103 - alpaka/thirdParty/catch2/SECURITY.md | 19 - alpaka/thirdParty/catch2/WORKSPACE.bazel | 15 - alpaka/thirdParty/catch2/appveyor.yml | 83 - alpaka/thirdParty/catch2/codecov.yml | 22 - alpaka/thirdParty/catch2/conanfile.py | 60 - .../catch2/data/artwork/catch2-c-logo.png | Bin 10636 -> 0 bytes .../catch2/data/artwork/catch2-hand-logo.png | Bin 33761 -> 0 bytes .../catch2-logo-small-with-background.png | Bin 25330 -> 0 bytes .../catch2/data/artwork/catch2-logo-small.png | Bin 20939 -> 0 bytes alpaka/thirdParty/catch2/docs/Readme.md | 43 - alpaka/thirdParty/catch2/docs/assertions.md | 182 - alpaka/thirdParty/catch2/docs/benchmarks.md | 251 - alpaka/thirdParty/catch2/docs/ci-and-misc.md | 110 - .../catch2/docs/cmake-integration.md | 402 - alpaka/thirdParty/catch2/docs/command-line.md | 588 - .../catch2/docs/commercial-users.md | 23 - .../docs/comparing-floating-point-numbers.md | 192 - .../thirdParty/catch2/docs/configuration.md | 269 - alpaka/thirdParty/catch2/docs/contributing.md | 343 - alpaka/thirdParty/catch2/docs/deprecations.md | 40 - .../thirdParty/catch2/docs/event-listeners.md | 44 - alpaka/thirdParty/catch2/docs/faq.md | 94 - alpaka/thirdParty/catch2/docs/generators.md | 223 - alpaka/thirdParty/catch2/docs/limitations.md | 185 - .../catch2/docs/list-of-examples.md | 46 - alpaka/thirdParty/catch2/docs/logging.md | 159 - alpaka/thirdParty/catch2/docs/matchers.md | 440 - .../catch2/docs/migrate-v2-to-v3.md | 98 - .../catch2/docs/opensource-users.md | 150 - alpaka/thirdParty/catch2/docs/other-macros.md | 155 - alpaka/thirdParty/catch2/docs/own-main.md | 132 - .../thirdParty/catch2/docs/release-notes.md | 1664 -- .../thirdParty/catch2/docs/release-process.md | 66 - .../thirdParty/catch2/docs/reporter-events.md | 175 - alpaka/thirdParty/catch2/docs/reporters.md | 213 - .../catch2/docs/skipping-passing-failing.md | 129 - .../catch2/docs/test-cases-and-sections.md | 346 - .../thirdParty/catch2/docs/test-fixtures.md | 162 - alpaka/thirdParty/catch2/docs/tostring.md | 132 - alpaka/thirdParty/catch2/docs/tutorial.md | 227 - alpaka/thirdParty/catch2/docs/usage-tips.md | 100 - alpaka/thirdParty/catch2/docs/why-catch.md | 59 - .../catch2/examples/010-TestCase.cpp | 33 - .../catch2/examples/020-TestCase-1.cpp | 29 - .../catch2/examples/020-TestCase-2.cpp | 33 - .../catch2/examples/030-Asn-Require-Check.cpp | 74 - .../catch2/examples/100-Fix-Section.cpp | 70 - .../catch2/examples/110-Fix-ClassFixture.cpp | 66 - .../120-Bdd-ScenarioGivenWhenThen.cpp | 73 - .../examples/210-Evt-EventListeners.cpp | 429 - .../catch2/examples/231-Cfg-OutputStreams.cpp | 55 - .../catch2/examples/300-Gen-OwnGenerator.cpp | 69 - .../examples/301-Gen-MapTypeConversion.cpp | 60 - .../catch2/examples/302-Gen-Table.cpp | 55 - .../310-Gen-VariablesInGenerators.cpp | 35 - .../catch2/examples/311-Gen-CustomCapture.cpp | 43 - .../thirdParty/catch2/examples/CMakeLists.txt | 61 - alpaka/thirdParty/catch2/extras/Catch.cmake | 220 - .../catch2/extras/CatchAddTests.cmake | 156 - .../catch2/extras/CatchShardTests.cmake | 66 - .../catch2/extras/CatchShardTestsImpl.cmake | 52 - .../catch2/extras/ParseAndAddCatchTests.cmake | 252 - .../catch2/extras/catch_amalgamated.cpp | 10655 -------- .../catch2/extras/catch_amalgamated.hpp | 12972 ---------- alpaka/thirdParty/catch2/extras/gdbinit | 16 - alpaka/thirdParty/catch2/extras/lldbinit | 16 - .../thirdParty/catch2/fuzzing/CMakeLists.txt | 20 - .../thirdParty/catch2/fuzzing/NullOStream.cpp | 10 - .../thirdParty/catch2/fuzzing/NullOStream.h | 20 - .../catch2/fuzzing/fuzz_TestSpecParser.cpp | 16 - .../catch2/fuzzing/fuzz_XmlWriter.cpp | 16 - .../catch2/fuzzing/fuzz_textflow.cpp | 47 - alpaka/thirdParty/catch2/mdsnippets.json | 9 - alpaka/thirdParty/catch2/meson.build | 17 - alpaka/thirdParty/catch2/src/CMakeLists.txt | 507 - .../src/catch2/benchmark/catch_benchmark.hpp | 144 - .../catch2/benchmark/catch_benchmark_all.hpp | 44 - .../catch2/benchmark/catch_chronometer.cpp | 17 - .../catch2/benchmark/catch_chronometer.hpp | 75 - .../src/catch2/benchmark/catch_clock.hpp | 39 - .../catch2/benchmark/catch_constructor.hpp | 82 - .../catch2/benchmark/catch_environment.hpp | 37 - .../src/catch2/benchmark/catch_estimate.hpp | 30 - .../catch2/benchmark/catch_execution_plan.hpp | 58 - .../src/catch2/benchmark/catch_optimizer.hpp | 71 - .../catch_outlier_classification.hpp | 29 - .../benchmark/catch_sample_analysis.hpp | 49 - .../catch2/benchmark/detail/catch_analyse.hpp | 80 - .../detail/catch_benchmark_function.cpp | 17 - .../detail/catch_benchmark_function.hpp | 108 - .../detail/catch_complete_invoke.hpp | 63 - .../benchmark/detail/catch_estimate_clock.hpp | 121 - .../catch2/benchmark/detail/catch_measure.hpp | 33 - .../catch2/benchmark/detail/catch_repeat.hpp | 36 - .../detail/catch_run_for_at_least.cpp | 30 - .../detail/catch_run_for_at_least.hpp | 65 - .../catch2/benchmark/detail/catch_stats.cpp | 257 - .../catch2/benchmark/detail/catch_stats.hpp | 144 - .../catch2/benchmark/detail/catch_timing.hpp | 31 - .../catch2/src/catch2/catch_all.hpp | 126 - .../catch2/src/catch2/catch_approx.cpp | 85 - .../catch2/src/catch2/catch_approx.hpp | 128 - .../src/catch2/catch_assertion_info.hpp | 28 - .../src/catch2/catch_assertion_result.cpp | 105 - .../src/catch2/catch_assertion_result.hpp | 60 - .../catch2/src/catch2/catch_config.cpp | 247 - .../catch2/src/catch2/catch_config.hpp | 153 - .../src/catch2/catch_get_random_seed.cpp | 18 - .../src/catch2/catch_get_random_seed.hpp | 18 - .../catch2/src/catch2/catch_message.cpp | 112 - .../catch2/src/catch2/catch_message.hpp | 148 - .../catch2/src/catch2/catch_registry_hub.cpp | 104 - .../catch2/src/catch2/catch_section_info.hpp | 42 - .../catch2/src/catch2/catch_session.cpp | 363 - .../catch2/src/catch2/catch_session.hpp | 62 - .../catch2/src/catch2/catch_tag_alias.hpp | 29 - .../catch2/catch_tag_alias_autoregistrar.cpp | 24 - .../catch2/catch_tag_alias_autoregistrar.hpp | 29 - .../src/catch2/catch_template_test_macros.hpp | 124 - .../src/catch2/catch_test_case_info.cpp | 247 - .../src/catch2/catch_test_case_info.hpp | 131 - .../catch2/src/catch2/catch_test_macros.hpp | 226 - .../catch2/src/catch2/catch_test_spec.cpp | 137 - .../catch2/src/catch2/catch_test_spec.hpp | 119 - .../catch2/src/catch2/catch_timer.cpp | 37 - .../catch2/src/catch2/catch_timer.hpp | 27 - .../catch2/src/catch2/catch_tostring.cpp | 254 - .../catch2/src/catch2/catch_tostring.hpp | 669 - .../catch2/src/catch2/catch_totals.cpp | 65 - .../catch2/src/catch2/catch_totals.hpp | 41 - .../src/catch2/catch_translate_exception.hpp | 84 - .../src/catch2/catch_user_config.hpp.in | 210 - .../catch2/src/catch2/catch_version.cpp | 43 - .../catch2/src/catch2/catch_version.hpp | 39 - .../src/catch2/catch_version_macros.hpp | 15 - .../generators/catch_generator_exception.cpp | 17 - .../generators/catch_generator_exception.hpp | 31 - .../catch2/generators/catch_generators.cpp | 42 - .../catch2/generators/catch_generators.hpp | 250 - .../generators/catch_generators_adapters.hpp | 241 - .../generators/catch_generators_all.hpp | 30 - .../generators/catch_generators_random.cpp | 13 - .../generators/catch_generators_random.hpp | 98 - .../generators/catch_generators_range.hpp | 110 - .../interfaces/catch_interfaces_all.hpp | 37 - .../interfaces/catch_interfaces_capture.cpp | 13 - .../interfaces/catch_interfaces_capture.hpp | 110 - .../interfaces/catch_interfaces_config.cpp | 13 - .../interfaces/catch_interfaces_config.hpp | 100 - .../catch_interfaces_enum_values_registry.hpp | 47 - .../interfaces/catch_interfaces_exception.cpp | 14 - .../interfaces/catch_interfaces_exception.hpp | 37 - .../catch_interfaces_generatortracker.cpp | 32 - .../catch_interfaces_generatortracker.hpp | 90 - .../catch_interfaces_registry_hub.cpp | 14 - .../catch_interfaces_registry_hub.hpp | 66 - .../interfaces/catch_interfaces_reporter.cpp | 103 - .../interfaces/catch_interfaces_reporter.hpp | 269 - .../catch_interfaces_reporter_factory.cpp | 14 - .../catch_interfaces_reporter_factory.hpp | 45 - .../catch_interfaces_reporter_registry.cpp | 13 - .../catch_interfaces_reporter_registry.hpp | 42 - .../catch_interfaces_tag_alias_registry.hpp | 29 - .../interfaces/catch_interfaces_testcase.cpp | 14 - .../interfaces/catch_interfaces_testcase.hpp | 43 - .../internal/catch_assertion_handler.cpp | 90 - .../internal/catch_assertion_handler.hpp | 72 - .../catch_case_insensitive_comparisons.cpp | 35 - .../catch_case_insensitive_comparisons.hpp | 30 - .../catch2/internal/catch_case_sensitive.hpp | 17 - .../src/catch2/internal/catch_clara.cpp | 448 - .../src/catch2/internal/catch_clara.hpp | 702 - .../src/catch2/internal/catch_commandline.cpp | 313 - .../src/catch2/internal/catch_commandline.hpp | 21 - .../catch2/internal/catch_compare_traits.hpp | 75 - .../internal/catch_compiler_capabilities.hpp | 430 - .../catch_config_android_logwrite.hpp | 33 - .../catch2/internal/catch_config_counter.hpp | 32 - .../catch_config_uncaught_exceptions.hpp | 44 - .../catch2/internal/catch_config_wchar.hpp | 33 - .../catch2/internal/catch_console_colour.cpp | 282 - .../catch2/internal/catch_console_colour.hpp | 141 - .../catch2/internal/catch_console_width.hpp | 19 - .../internal/catch_container_nonmembers.hpp | 73 - .../src/catch2/internal/catch_context.cpp | 63 - .../src/catch2/internal/catch_context.hpp | 58 - .../catch2/internal/catch_debug_console.cpp | 45 - .../catch2/internal/catch_debug_console.hpp | 17 - .../src/catch2/internal/catch_debugger.cpp | 120 - .../src/catch2/internal/catch_debugger.hpp | 67 - .../src/catch2/internal/catch_decomposer.cpp | 23 - .../src/catch2/internal/catch_decomposer.hpp | 340 - .../src/catch2/internal/catch_enforce.cpp | 41 - .../src/catch2/internal/catch_enforce.hpp | 54 - .../internal/catch_enum_values_registry.cpp | 73 - .../internal/catch_enum_values_registry.hpp | 36 - .../src/catch2/internal/catch_errno_guard.cpp | 16 - .../src/catch2/internal/catch_errno_guard.hpp | 27 - .../catch_exception_translator_registry.cpp | 83 - .../catch_exception_translator_registry.hpp | 31 - .../catch_fatal_condition_handler.cpp | 243 - .../catch_fatal_condition_handler.hpp | 69 - .../internal/catch_floating_point_helpers.cpp | 32 - .../internal/catch_floating_point_helpers.hpp | 103 - .../src/catch2/internal/catch_getenv.cpp | 37 - .../src/catch2/internal/catch_getenv.hpp | 20 - .../catch2/internal/catch_is_permutation.hpp | 138 - .../src/catch2/internal/catch_istream.cpp | 159 - .../src/catch2/internal/catch_istream.hpp | 54 - .../src/catch2/internal/catch_lazy_expr.cpp | 29 - .../src/catch2/internal/catch_lazy_expr.hpp | 40 - .../catch2/internal/catch_leak_detector.cpp | 38 - .../catch2/internal/catch_leak_detector.hpp | 19 - .../catch2/src/catch2/internal/catch_list.cpp | 123 - .../catch2/src/catch2/internal/catch_list.hpp | 43 - .../catch2/internal/catch_logical_traits.hpp | 44 - .../catch2/src/catch2/internal/catch_main.cpp | 39 - .../catch2/internal/catch_message_info.cpp | 25 - .../catch2/internal/catch_message_info.hpp | 42 - .../catch2/src/catch2/internal/catch_meta.hpp | 47 - .../internal/catch_move_and_forward.hpp | 19 - .../src/catch2/internal/catch_noncopyable.hpp | 28 - .../src/catch2/internal/catch_optional.hpp | 100 - .../catch2/internal/catch_output_redirect.cpp | 146 - .../catch2/internal/catch_output_redirect.hpp | 118 - .../catch2/internal/catch_parse_numbers.cpp | 52 - .../catch2/internal/catch_parse_numbers.hpp | 26 - .../src/catch2/internal/catch_platform.hpp | 37 - .../src/catch2/internal/catch_polyfills.cpp | 34 - .../src/catch2/internal/catch_polyfills.hpp | 16 - .../catch2/internal/catch_preprocessor.hpp | 237 - .../catch_preprocessor_remove_parens.hpp | 19 - .../catch_random_number_generator.cpp | 70 - .../catch_random_number_generator.hpp | 59 - .../internal/catch_random_seed_generation.cpp | 34 - .../internal/catch_random_seed_generation.hpp | 26 - .../internal/catch_reporter_registry.cpp | 65 - .../internal/catch_reporter_registry.hpp | 38 - .../internal/catch_reporter_spec_parser.cpp | 173 - .../internal/catch_reporter_spec_parser.hpp | 85 - .../src/catch2/internal/catch_result_type.cpp | 26 - .../src/catch2/internal/catch_result_type.hpp | 57 - .../internal/catch_reusable_string_stream.cpp | 62 - .../internal/catch_reusable_string_stream.hpp | 57 - .../src/catch2/internal/catch_run_context.cpp | 681 - .../src/catch2/internal/catch_run_context.hpp | 159 - .../src/catch2/internal/catch_section.cpp | 60 - .../src/catch2/internal/catch_section.hpp | 53 - .../src/catch2/internal/catch_sharding.hpp | 42 - .../src/catch2/internal/catch_singletons.cpp | 36 - .../src/catch2/internal/catch_singletons.hpp | 45 - .../internal/catch_source_line_info.cpp | 33 - .../internal/catch_source_line_info.hpp | 37 - .../catch_startup_exception_registry.cpp | 29 - .../catch_startup_exception_registry.hpp | 29 - .../src/catch2/internal/catch_stdstreams.cpp | 24 - .../src/catch2/internal/catch_stdstreams.hpp | 22 - .../catch2/internal/catch_stream_end_stop.hpp | 30 - .../catch2/internal/catch_string_manip.cpp | 104 - .../catch2/internal/catch_string_manip.hpp | 61 - .../src/catch2/internal/catch_stringref.cpp | 66 - .../src/catch2/internal/catch_stringref.hpp | 121 - .../internal/catch_tag_alias_registry.cpp | 55 - .../internal/catch_tag_alias_registry.hpp | 33 - .../internal/catch_template_test_registry.hpp | 337 - .../internal/catch_test_case_info_hasher.cpp | 39 - .../internal/catch_test_case_info_hasher.hpp | 29 - .../catch_test_case_registry_impl.cpp | 152 - .../catch_test_case_registry_impl.hpp | 72 - .../internal/catch_test_case_tracker.cpp | 239 - .../internal/catch_test_case_tracker.hpp | 244 - .../internal/catch_test_failure_exception.cpp | 23 - .../internal/catch_test_failure_exception.hpp | 28 - .../catch2/internal/catch_test_macro_impl.hpp | 159 - .../catch2/internal/catch_test_registry.cpp | 70 - .../catch2/internal/catch_test_registry.hpp | 132 - .../internal/catch_test_spec_parser.cpp | 239 - .../internal/catch_test_spec_parser.hpp | 81 - .../src/catch2/internal/catch_textflow.cpp | 255 - .../src/catch2/internal/catch_textflow.hpp | 169 - .../src/catch2/internal/catch_to_string.hpp | 29 - .../internal/catch_uncaught_exceptions.cpp | 26 - .../internal/catch_uncaught_exceptions.hpp | 15 - .../src/catch2/internal/catch_unique_name.hpp | 20 - .../src/catch2/internal/catch_unique_ptr.hpp | 118 - .../src/catch2/internal/catch_void_type.hpp | 25 - .../internal/catch_wildcard_pattern.cpp | 47 - .../internal/catch_wildcard_pattern.hpp | 38 - .../catch2/internal/catch_windows_h_proxy.hpp | 28 - .../src/catch2/internal/catch_xmlwriter.cpp | 348 - .../src/catch2/internal/catch_xmlwriter.hpp | 152 - .../src/catch2/matchers/catch_matchers.cpp | 25 - .../src/catch2/matchers/catch_matchers.hpp | 237 - .../catch2/matchers/catch_matchers_all.hpp | 36 - .../catch_matchers_container_properties.cpp | 34 - .../catch_matchers_container_properties.hpp | 90 - .../matchers/catch_matchers_contains.hpp | 102 - .../matchers/catch_matchers_exception.cpp | 26 - .../matchers/catch_matchers_exception.hpp | 61 - .../catch_matchers_floating_point.cpp | 241 - .../catch_matchers_floating_point.hpp | 94 - .../matchers/catch_matchers_predicate.cpp | 17 - .../matchers/catch_matchers_predicate.hpp | 59 - .../matchers/catch_matchers_quantifiers.cpp | 24 - .../matchers/catch_matchers_quantifiers.hpp | 165 - .../matchers/catch_matchers_range_equals.hpp | 144 - .../catch2/matchers/catch_matchers_string.cpp | 114 - .../catch2/matchers/catch_matchers_string.hpp | 85 - .../matchers/catch_matchers_templated.cpp | 41 - .../matchers/catch_matchers_templated.hpp | 296 - .../catch2/matchers/catch_matchers_vector.hpp | 195 - .../matchers/internal/catch_matchers_impl.cpp | 25 - .../matchers/internal/catch_matchers_impl.hpp | 83 - .../thirdParty/catch2/src/catch2/meson.build | 365 - .../reporters/catch_reporter_automake.cpp | 37 - .../reporters/catch_reporter_automake.hpp | 39 - .../reporters/catch_reporter_common_base.cpp | 49 - .../reporters/catch_reporter_common_base.hpp | 79 - .../reporters/catch_reporter_compact.cpp | 254 - .../reporters/catch_reporter_compact.hpp | 39 - .../reporters/catch_reporter_console.cpp | 656 - .../reporters/catch_reporter_console.hpp | 67 - .../catch_reporter_cumulative_base.cpp | 159 - .../catch_reporter_cumulative_base.hpp | 152 - .../catch_reporter_event_listener.cpp | 40 - .../catch_reporter_event_listener.hpp | 60 - .../reporters/catch_reporter_helpers.cpp | 343 - .../reporters/catch_reporter_helpers.hpp | 95 - .../catch2/reporters/catch_reporter_junit.cpp | 307 - .../catch2/reporters/catch_reporter_junit.hpp | 58 - .../catch2/reporters/catch_reporter_multi.cpp | 198 - .../catch2/reporters/catch_reporter_multi.hpp | 72 - .../reporters/catch_reporter_registrars.cpp | 30 - .../reporters/catch_reporter_registrars.hpp | 132 - .../reporters/catch_reporter_sonarqube.cpp | 162 - .../reporters/catch_reporter_sonarqube.hpp | 61 - .../catch_reporter_streaming_base.cpp | 23 - .../catch_reporter_streaming_base.hpp | 74 - .../catch2/reporters/catch_reporter_tap.cpp | 229 - .../catch2/reporters/catch_reporter_tap.hpp | 43 - .../reporters/catch_reporter_teamcity.cpp | 177 - .../reporters/catch_reporter_teamcity.hpp | 66 - .../catch2/reporters/catch_reporter_xml.cpp | 334 - .../catch2/reporters/catch_reporter_xml.hpp | 66 - .../catch2/reporters/catch_reporters_all.hpp | 40 - alpaka/thirdParty/catch2/tests/CMakeLists.txt | 665 - .../catch2/tests/ExtraTests/CMakeLists.txt | 554 - .../catch2/tests/ExtraTests/ToDo.txt | 10 - .../tests/ExtraTests/X01-PrefixedMacros.cpp | 97 - .../tests/ExtraTests/X02-DisabledMacros.cpp | 65 - .../X03-DisabledExceptions-DefaultHandler.cpp | 39 - .../X04-DisabledExceptions-CustomHandler.cpp | 40 - .../ExtraTests/X05-DeferredStaticChecks.cpp | 21 - .../ExtraTests/X10-FallbackStringifier.cpp | 35 - .../ExtraTests/X11-DisableStringification.cpp | 27 - .../ExtraTests/X12-CustomDebugBreakMacro.cpp | 26 - .../ExtraTests/X21-PartialTestCaseEvents.cpp | 74 - .../X22-BenchmarksInCumulativeReporter.cpp | 79 - .../ExtraTests/X23-CasingInReporterNames.cpp | 41 - ...4-ListenerStdoutCaptureInMultireporter.cpp | 40 - .../X25-ListenerCanAskForCapturedStdout.cpp | 47 - ...erencesForPassingAssertionsIsRespected.cpp | 52 - .../X27-CapturedStdoutInTestCaseEvents.cpp | 82 - .../X28-ListenersGetEventsBeforeReporters.cpp | 99 - .../X29-CustomArgumentsForReporters.cpp | 59 - .../tests/ExtraTests/X30-BazelReporter.cpp | 17 - .../ExtraTests/X31-DuplicatedTestCases.cpp | 16 - .../X32-DuplicatedTestCasesDifferentTags.cpp | 17 - .../X33-DuplicatedTestCaseMethods.cpp | 22 - ...icatedTestCaseMethodsDifferentFixtures.cpp | 27 - .../X35-DuplicatedReporterNames.cpp | 31 - .../ExtraTests/X90-WindowsHeaderInclusion.cpp | 21 - .../tests/ExtraTests/X91-AmalgamatedCatch.cpp | 38 - .../catch2/tests/ExtraTests/X92-NoTests.cpp | 11 - .../tests/ExtraTests/X93-AllSkipped.cpp | 16 - .../Baselines/automake.std.approved.txt | 168 - .../Baselines/automake.sw.approved.txt | 420 - .../Baselines/automake.sw.multi.approved.txt | 409 - .../Baselines/compact.sw.approved.txt | 2544 -- .../Baselines/compact.sw.multi.approved.txt | 2533 -- .../Baselines/console.std.approved.txt | 1538 -- .../Baselines/console.sw.approved.txt | 18236 ------------- .../Baselines/console.sw.multi.approved.txt | 18225 ------------- .../Baselines/console.swa4.approved.txt | 956 - .../Baselines/default.sw.multi.approved.txt | 11 - .../SelfTest/Baselines/junit.sw.approved.txt | 2052 -- .../Baselines/junit.sw.multi.approved.txt | 2051 -- .../Baselines/sonarqube.sw.approved.txt | 2071 -- .../Baselines/sonarqube.sw.multi.approved.txt | 2070 -- .../SelfTest/Baselines/tap.sw.approved.txt | 4481 ---- .../Baselines/tap.sw.multi.approved.txt | 4470 ---- .../Baselines/teamcity.sw.approved.txt | 998 - .../Baselines/teamcity.sw.multi.approved.txt | 997 - .../SelfTest/Baselines/xml.sw.approved.txt | 21208 ---------------- .../Baselines/xml.sw.multi.approved.txt | 21207 --------------- .../IntrospectiveTests/Algorithms.tests.cpp | 94 - .../IntrospectiveTests/Clara.tests.cpp | 73 - .../IntrospectiveTests/CmdLine.tests.cpp | 467 - .../CmdLineHelpers.tests.cpp | 111 - .../IntrospectiveTests/ColourImpl.tests.cpp | 64 - .../IntrospectiveTests/Details.tests.cpp | 131 - .../FloatingPoint.tests.cpp | 74 - .../GeneratorsImpl.tests.cpp | 546 - .../InternalBenchmark.tests.cpp | 447 - .../IntrospectiveTests/Parse.tests.cpp | 38 - .../IntrospectiveTests/PartTracker.tests.cpp | 254 - .../RandomNumberGeneration.tests.cpp | 62 - .../IntrospectiveTests/Reporters.tests.cpp | 329 - .../IntrospectiveTests/Sharding.tests.cpp | 45 - .../IntrospectiveTests/Stream.tests.cpp | 32 - .../IntrospectiveTests/String.tests.cpp | 212 - .../IntrospectiveTests/StringManip.tests.cpp | 83 - .../SelfTest/IntrospectiveTests/Tag.tests.cpp | 104 - .../TestCaseInfoHasher.tests.cpp | 72 - .../IntrospectiveTests/TestSpec.tests.cpp | 365 - .../TestSpecParser.tests.cpp | 55 - .../IntrospectiveTests/TextFlow.tests.cpp | 200 - .../IntrospectiveTests/ToString.tests.cpp | 97 - .../IntrospectiveTests/Traits.tests.cpp | 45 - .../IntrospectiveTests/UniquePtr.tests.cpp | 141 - .../SelfTest/IntrospectiveTests/Xml.tests.cpp | 183 - .../SelfTest/Misc/invalid-test-names.input | 1 - .../tests/SelfTest/Misc/plain-old-tests.input | 2 - .../Misc/special-characters-in-file.input | 1 - .../tests/SelfTest/TestRegistrations.cpp | 181 - .../SelfTest/TimingTests/Sleep.tests.cpp | 24 - .../SelfTest/UsageTests/Approx.tests.cpp | 218 - .../tests/SelfTest/UsageTests/BDD.tests.cpp | 106 - .../SelfTest/UsageTests/Benchmark.tests.cpp | 173 - .../tests/SelfTest/UsageTests/Class.tests.cpp | 133 - .../SelfTest/UsageTests/Compilation.tests.cpp | 355 - .../SelfTest/UsageTests/Condition.tests.cpp | 334 - .../UsageTests/Decomposition.tests.cpp | 41 - .../UsageTests/EnumToString.tests.cpp | 108 - .../SelfTest/UsageTests/Exception.tests.cpp | 204 - .../SelfTest/UsageTests/Generators.tests.cpp | 313 - .../SelfTest/UsageTests/Matchers.tests.cpp | 1125 - .../UsageTests/MatchersRanges.tests.cpp | 917 - .../SelfTest/UsageTests/Message.tests.cpp | 287 - .../tests/SelfTest/UsageTests/Misc.tests.cpp | 553 - .../tests/SelfTest/UsageTests/Skip.tests.cpp | 73 - .../UsageTests/ToStringByte.tests.cpp | 23 - .../UsageTests/ToStringChrono.tests.cpp | 51 - .../UsageTests/ToStringGeneral.tests.cpp | 211 - .../UsageTests/ToStringOptional.tests.cpp | 31 - .../UsageTests/ToStringPair.tests.cpp | 38 - .../UsageTests/ToStringTuple.tests.cpp | 54 - .../UsageTests/ToStringVariant.tests.cpp | 99 - .../UsageTests/ToStringVector.tests.cpp | 94 - .../UsageTests/ToStringWhich.tests.cpp | 186 - .../SelfTest/UsageTests/Tricky.tests.cpp | 380 - .../UsageTests/VariadicMacros.tests.cpp | 29 - .../SelfTest/helpers/parse_test_spec.cpp | 22 - .../SelfTest/helpers/parse_test_spec.hpp | 20 - .../SelfTest/helpers/range_test_helpers.hpp | 210 - .../helpers/type_with_lit_0_comparisons.hpp | 44 - .../tests/TestScripts/ConfigureTestsCommon.py | 75 - .../tests/TestScripts/testBazelReporter.py | 104 - .../tests/TestScripts/testBazelSharding.py | 75 - .../testConfigureDefaultReporter.py | 41 - .../tests/TestScripts/testConfigureDisable.py | 48 - .../testConfigureDisableStringification.py | 44 - .../testConfigureExperimentalRedirect.py | 49 - .../TestScripts/testPartialTestCaseEvent.py | 79 - .../tests/TestScripts/testRandomOrder.py | 77 - .../catch2/tests/TestScripts/testSharding.py | 165 - alpaka/thirdParty/catch2/tests/meson.build | 76 - .../thirdParty/catch2/third_party/clara.hpp | 1267 - .../catch2/tools/misc/CMakeLists.txt | 11 - .../misc/appveyorBuildConfigurationScript.bat | 21 - .../tools/misc/appveyorMergeCoverageScript.py | 9 - .../tools/misc/appveyorTestRunScript.bat | 17 - .../catch2/tools/misc/coverage-helper.cpp | 142 - .../tools/misc/installOpenCppCoverage.ps1 | 19 - .../catch2/tools/scripts/approvalTests.py | 243 - .../catch2/tools/scripts/approve.py | 31 - .../tools/scripts/checkConvenienceHeaders.py | 151 - .../tools/scripts/checkDuplicateFilenames.py | 14 - .../catch2/tools/scripts/checkLicense.py | 45 - .../catch2/tools/scripts/developBuild.py | 9 - .../extractFeaturesFromReleaseNotes.py | 92 - .../catch2/tools/scripts/fixWhitespace.py | 51 - .../tools/scripts/generateAmalgamatedFiles.py | 129 - .../catch2/tools/scripts/majorRelease.py | 9 - .../catch2/tools/scripts/minorRelease.py | 9 - .../catch2/tools/scripts/patchRelease.py | 9 - .../catch2/tools/scripts/releaseCommon.py | 143 - .../catch2/tools/scripts/scriptCommon.py | 4 - .../tools/scripts/updateDocumentSnippets.py | 23 - .../catch2/tools/scripts/updateDocumentToC.py | 447 - 1109 files changed, 273179 deletions(-) delete mode 100644 alpaka/.clang-format delete mode 100644 alpaka/.dockerignore delete mode 100644 alpaka/.github/workflows/ci.yml delete mode 100644 alpaka/.github/workflows/gh-pages.yml delete mode 100644 alpaka/.github/workflows/single-header.yml delete mode 100644 alpaka/.gitignore delete mode 100644 alpaka/.gitlab-ci.yml delete mode 100644 alpaka/.readthedocs.yml delete mode 100644 alpaka/.zenodo.json delete mode 100644 alpaka/CHANGELOG.md delete mode 100644 alpaka/CMakeLists.txt delete mode 100644 alpaka/CMakePresets.json delete mode 100644 alpaka/CONTRIBUTING.md delete mode 100644 alpaka/LICENSE delete mode 100644 alpaka/README.md delete mode 100644 alpaka/README_SYCL.md delete mode 100644 alpaka/cmake/addExecutable.cmake delete mode 100644 alpaka/cmake/addLibrary.cmake delete mode 100644 alpaka/cmake/alpakaCommon.cmake delete mode 100644 alpaka/cmake/alpakaConfig.cmake.in delete mode 100644 alpaka/cmake/common.cmake delete mode 100644 alpaka/cmake/tests/MathConstants.cpp delete mode 100644 alpaka/cmake/tests/StdAtomicRef.cpp delete mode 100644 alpaka/docs/Doxyfile delete mode 100644 alpaka/docs/Makefile delete mode 100644 alpaka/docs/cheatsheet/README.md delete mode 100644 alpaka/docs/cheatsheet/cheatsheet.style delete mode 100644 alpaka/docs/logo/alpaka.pdf delete mode 100644 alpaka/docs/logo/alpaka.png delete mode 100644 alpaka/docs/logo/alpaka.svg delete mode 100644 alpaka/docs/logo/alpaka_401x135.png delete mode 100644 alpaka/docs/logo/alpaka_doxygen.png delete mode 100644 alpaka/docs/logo/alpaka_inkscape.svg delete mode 100644 alpaka/docs/requirements.txt delete mode 100644 alpaka/docs/source/_static/custom.css delete mode 100644 alpaka/docs/source/_static/general.css delete mode 100644 alpaka/docs/source/advanced/cmake.rst delete mode 100644 alpaka/docs/source/advanced/compiler.rst delete mode 100644 alpaka/docs/source/advanced/mapping.rst delete mode 100644 alpaka/docs/source/advanced/rationale.rst delete mode 100644 alpaka/docs/source/basic/abstraction.rst delete mode 100644 alpaka/docs/source/basic/cheatsheet.rst delete mode 100644 alpaka/docs/source/basic/example.rst delete mode 100644 alpaka/docs/source/basic/install.rst delete mode 100644 alpaka/docs/source/basic/intro.rst delete mode 100644 alpaka/docs/source/basic/library.rst delete mode 100644 alpaka/docs/source/conf.py delete mode 100644 alpaka/docs/source/dev/backends.rst delete mode 100644 alpaka/docs/source/dev/ci.rst delete mode 100644 alpaka/docs/source/dev/details.rst delete mode 100644 alpaka/docs/source/dev/sphinx.rst delete mode 100644 alpaka/docs/source/dev/style.rst delete mode 100644 alpaka/docs/source/dev/test.rst delete mode 100644 alpaka/docs/source/images/arch_gitlab_mirror.png delete mode 100644 alpaka/docs/source/images/arch_gitlab_mirror.svg delete mode 100644 alpaka/docs/source/images/block.png delete mode 100644 alpaka/docs/source/images/block_scale.png delete mode 100644 alpaka/docs/source/images/element.png delete mode 100644 alpaka/docs/source/images/execution_domain.png delete mode 100644 alpaka/docs/source/images/execution_domain.svg delete mode 100644 alpaka/docs/source/images/job_generator_flow.png delete mode 100644 alpaka/docs/source/images/job_generator_flow.svg delete mode 100644 alpaka/docs/source/images/structure.png delete mode 100644 alpaka/docs/source/images/structure.svg delete mode 100644 alpaka/docs/source/images/structure_assoc.png delete mode 100644 alpaka/docs/source/images/structure_assoc.svg delete mode 100644 alpaka/docs/source/images/thread.png delete mode 100644 alpaka/docs/source/images/warp.png delete mode 100644 alpaka/docs/source/images/x86_cpu.png delete mode 100644 alpaka/docs/source/images/x86_cpu_mapping.png delete mode 100644 alpaka/docs/source/index.rst delete mode 100644 alpaka/docs/source/info/similar_projects.rst delete mode 100644 alpaka/example/CMakeLists.txt delete mode 100644 alpaka/example/babelstream/CMakeLists.txt delete mode 100644 alpaka/example/babelstream/src/AlpakaStream.cpp delete mode 100644 alpaka/example/babelstream/src/AlpakaStream.h delete mode 100644 alpaka/example/babelstream/src/LICENSE delete mode 100644 alpaka/example/babelstream/src/README.md delete mode 100644 alpaka/example/babelstream/src/Stream.h delete mode 100644 alpaka/example/babelstream/src/main.cpp delete mode 100644 alpaka/example/bufferCopy/CMakeLists.txt delete mode 100644 alpaka/example/bufferCopy/src/bufferCopy.cpp delete mode 100644 alpaka/example/complex/CMakeLists.txt delete mode 100644 alpaka/example/complex/src/complex.cpp delete mode 100644 alpaka/example/counterBasedRng/CMakeLists.txt delete mode 100644 alpaka/example/counterBasedRng/src/counterBasedRng.cpp delete mode 100644 alpaka/example/heatEquation/CMakeLists.txt delete mode 100644 alpaka/example/heatEquation/src/heatEquation.cpp delete mode 100644 alpaka/example/helloWorld/CMakeLists.txt delete mode 100644 alpaka/example/helloWorld/src/helloWorld.cpp delete mode 100644 alpaka/example/helloWorldLambda/CMakeLists.txt delete mode 100644 alpaka/example/helloWorldLambda/src/helloWorldLambda.cpp delete mode 100644 alpaka/example/kernelSpecialization/CMakeLists.txt delete mode 100644 alpaka/example/kernelSpecialization/src/kernelSpecialization.cpp delete mode 100644 alpaka/example/ls/CMakeLists.txt delete mode 100644 alpaka/example/ls/src/ls.cpp delete mode 100644 alpaka/example/monteCarloIntegration/CMakeLists.txt delete mode 100644 alpaka/example/monteCarloIntegration/src/monteCarloIntegration.cpp delete mode 100644 alpaka/example/openMPSchedule/CMakeLists.txt delete mode 100644 alpaka/example/openMPSchedule/src/openMPSchedule.cpp delete mode 100644 alpaka/example/parallelLoopPatterns/CMakeLists.txt delete mode 100644 alpaka/example/parallelLoopPatterns/src/parallelLoopPatterns.cpp delete mode 100644 alpaka/example/randomCells2D/CMakeLists.txt delete mode 100644 alpaka/example/randomCells2D/src/randomCells2D.cpp delete mode 100644 alpaka/example/randomStrategies/CMakeLists.txt delete mode 100644 alpaka/example/randomStrategies/src/randomStrategies.cpp delete mode 100644 alpaka/example/reduce/CMakeLists.txt delete mode 100644 alpaka/example/reduce/README.md delete mode 100644 alpaka/example/reduce/src/alpakaConfig.hpp delete mode 100644 alpaka/example/reduce/src/iterator.hpp delete mode 100644 alpaka/example/reduce/src/kernel.hpp delete mode 100644 alpaka/example/reduce/src/reduce.cpp delete mode 100644 alpaka/example/tagSpecialization/CMakeLists.txt delete mode 100644 alpaka/example/tagSpecialization/src/tagSpecialization.cpp delete mode 100644 alpaka/example/vectorAdd/CMakeLists.txt delete mode 100644 alpaka/example/vectorAdd/src/vectorAdd.cpp delete mode 100644 alpaka/include/alpaka/acc/AccCpuOmp2Blocks.hpp delete mode 100644 alpaka/include/alpaka/acc/AccCpuOmp2Threads.hpp delete mode 100644 alpaka/include/alpaka/acc/AccCpuSerial.hpp delete mode 100644 alpaka/include/alpaka/acc/AccCpuSycl.hpp delete mode 100644 alpaka/include/alpaka/acc/AccCpuTbbBlocks.hpp delete mode 100644 alpaka/include/alpaka/acc/AccCpuThreads.hpp delete mode 100644 alpaka/include/alpaka/acc/AccDevProps.hpp delete mode 100644 alpaka/include/alpaka/acc/AccFpgaSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/acc/AccGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/acc/AccGpuCudaRt.hpp delete mode 100644 alpaka/include/alpaka/acc/AccGpuHipRt.hpp delete mode 100644 alpaka/include/alpaka/acc/AccGpuSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/acc/AccGpuUniformCudaHipRt.hpp delete mode 100644 alpaka/include/alpaka/acc/Tag.hpp delete mode 100644 alpaka/include/alpaka/acc/Traits.hpp delete mode 100644 alpaka/include/alpaka/alpaka.hpp delete mode 100644 alpaka/include/alpaka/atomic/AtomicAtomicRef.hpp delete mode 100644 alpaka/include/alpaka/atomic/AtomicCpu.hpp delete mode 100644 alpaka/include/alpaka/atomic/AtomicGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/atomic/AtomicHierarchy.hpp delete mode 100644 alpaka/include/alpaka/atomic/AtomicNoOp.hpp delete mode 100644 alpaka/include/alpaka/atomic/AtomicOmpBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/atomic/AtomicStdLibLock.hpp delete mode 100644 alpaka/include/alpaka/atomic/AtomicUniformCudaHip.hpp delete mode 100644 alpaka/include/alpaka/atomic/AtomicUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/atomic/Op.hpp delete mode 100644 alpaka/include/alpaka/atomic/Traits.hpp delete mode 100644 alpaka/include/alpaka/block/shared/dyn/BlockSharedDynMemberAllocKiB.hpp delete mode 100644 alpaka/include/alpaka/block/shared/dyn/BlockSharedMemDynGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/block/shared/dyn/BlockSharedMemDynMember.hpp delete mode 100644 alpaka/include/alpaka/block/shared/dyn/BlockSharedMemDynUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/block/shared/dyn/Traits.hpp delete mode 100644 alpaka/include/alpaka/block/shared/st/BlockSharedMemStGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/block/shared/st/BlockSharedMemStMember.hpp delete mode 100644 alpaka/include/alpaka/block/shared/st/BlockSharedMemStMemberMasterSync.hpp delete mode 100644 alpaka/include/alpaka/block/shared/st/BlockSharedMemStUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/block/shared/st/Traits.hpp delete mode 100644 alpaka/include/alpaka/block/shared/st/detail/BlockSharedMemStMemberImpl.hpp delete mode 100644 alpaka/include/alpaka/block/sync/BlockSyncBarrierOmp.hpp delete mode 100644 alpaka/include/alpaka/block/sync/BlockSyncBarrierThread.hpp delete mode 100644 alpaka/include/alpaka/block/sync/BlockSyncGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/block/sync/BlockSyncNoOp.hpp delete mode 100644 alpaka/include/alpaka/block/sync/BlockSyncUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/block/sync/Traits.hpp delete mode 100644 alpaka/include/alpaka/core/Align.hpp delete mode 100644 alpaka/include/alpaka/core/AlignedAlloc.hpp delete mode 100644 alpaka/include/alpaka/core/ApiCudaRt.hpp delete mode 100644 alpaka/include/alpaka/core/ApiHipRt.hpp delete mode 100644 alpaka/include/alpaka/core/Assert.hpp delete mode 100644 alpaka/include/alpaka/core/BarrierThread.hpp delete mode 100644 alpaka/include/alpaka/core/BoostPredef.hpp delete mode 100644 alpaka/include/alpaka/core/CallbackThread.hpp delete mode 100644 alpaka/include/alpaka/core/ClipCast.hpp delete mode 100644 alpaka/include/alpaka/core/Common.hpp delete mode 100644 alpaka/include/alpaka/core/Concepts.hpp delete mode 100644 alpaka/include/alpaka/core/Cuda.hpp delete mode 100644 alpaka/include/alpaka/core/CudaHipCommon.hpp delete mode 100644 alpaka/include/alpaka/core/Debug.hpp delete mode 100644 alpaka/include/alpaka/core/Decay.hpp delete mode 100644 alpaka/include/alpaka/core/DemangleTypeNames.hpp delete mode 100644 alpaka/include/alpaka/core/Hip.hpp delete mode 100644 alpaka/include/alpaka/core/OmpSchedule.hpp delete mode 100644 alpaka/include/alpaka/core/Positioning.hpp delete mode 100644 alpaka/include/alpaka/core/RemoveRestrict.hpp delete mode 100644 alpaka/include/alpaka/core/Sycl.hpp delete mode 100644 alpaka/include/alpaka/core/ThreadPool.hpp delete mode 100644 alpaka/include/alpaka/core/UniformCudaHip.hpp delete mode 100644 alpaka/include/alpaka/core/Unreachable.hpp delete mode 100644 alpaka/include/alpaka/core/Unroll.hpp delete mode 100644 alpaka/include/alpaka/core/Utility.hpp delete mode 100644 alpaka/include/alpaka/core/Vectorize.hpp delete mode 100644 alpaka/include/alpaka/dev/DevCpu.hpp delete mode 100644 alpaka/include/alpaka/dev/DevCpuSycl.hpp delete mode 100644 alpaka/include/alpaka/dev/DevCudaRt.hpp delete mode 100644 alpaka/include/alpaka/dev/DevFpgaSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/dev/DevGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/dev/DevGpuSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/dev/DevHipRt.hpp delete mode 100644 alpaka/include/alpaka/dev/DevUniformCudaHipRt.hpp delete mode 100644 alpaka/include/alpaka/dev/Traits.hpp delete mode 100644 alpaka/include/alpaka/dev/common/QueueRegistry.hpp delete mode 100644 alpaka/include/alpaka/dev/cpu/SysInfo.hpp delete mode 100644 alpaka/include/alpaka/dev/cpu/Wait.hpp delete mode 100644 alpaka/include/alpaka/dim/DimArithmetic.hpp delete mode 100644 alpaka/include/alpaka/dim/DimIntegralConst.hpp delete mode 100644 alpaka/include/alpaka/dim/Traits.hpp delete mode 100644 alpaka/include/alpaka/elem/Traits.hpp delete mode 100644 alpaka/include/alpaka/event/EventCpu.hpp delete mode 100644 alpaka/include/alpaka/event/EventCpuSycl.hpp delete mode 100644 alpaka/include/alpaka/event/EventCudaRt.hpp delete mode 100644 alpaka/include/alpaka/event/EventFpgaSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/event/EventGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/event/EventGenericThreads.hpp delete mode 100644 alpaka/include/alpaka/event/EventGpuSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/event/EventHipRt.hpp delete mode 100644 alpaka/include/alpaka/event/EventUniformCudaHipRt.hpp delete mode 100644 alpaka/include/alpaka/event/Traits.hpp delete mode 100644 alpaka/include/alpaka/example/ExampleDefaultAcc.hpp delete mode 100644 alpaka/include/alpaka/extent/Traits.hpp delete mode 100644 alpaka/include/alpaka/idx/Accessors.hpp delete mode 100644 alpaka/include/alpaka/idx/MapIdx.hpp delete mode 100644 alpaka/include/alpaka/idx/Traits.hpp delete mode 100644 alpaka/include/alpaka/idx/bt/IdxBtGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/idx/bt/IdxBtLinear.hpp delete mode 100644 alpaka/include/alpaka/idx/bt/IdxBtOmp.hpp delete mode 100644 alpaka/include/alpaka/idx/bt/IdxBtRefThreadIdMap.hpp delete mode 100644 alpaka/include/alpaka/idx/bt/IdxBtUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/idx/bt/IdxBtZero.hpp delete mode 100644 alpaka/include/alpaka/idx/gb/IdxGbGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/idx/gb/IdxGbLinear.hpp delete mode 100644 alpaka/include/alpaka/idx/gb/IdxGbRef.hpp delete mode 100644 alpaka/include/alpaka/idx/gb/IdxGbUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/intrinsic/IntrinsicCpu.hpp delete mode 100644 alpaka/include/alpaka/intrinsic/IntrinsicFallback.hpp delete mode 100644 alpaka/include/alpaka/intrinsic/IntrinsicGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/intrinsic/IntrinsicUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/intrinsic/Traits.hpp delete mode 100644 alpaka/include/alpaka/kernel/SyclSubgroupSize.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelCpuOmp2Blocks.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelCpuOmp2Threads.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelCpuSerial.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelCpuSycl.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelCpuTbbBlocks.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelCpuThreads.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelFpgaSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelGpuCudaRt.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelGpuHipRt.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelGpuSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/kernel/TaskKernelGpuUniformCudaHipRt.hpp delete mode 100644 alpaka/include/alpaka/kernel/Traits.hpp delete mode 100644 alpaka/include/alpaka/math/Complex.hpp delete mode 100644 alpaka/include/alpaka/math/FloatEqualExact.hpp delete mode 100644 alpaka/include/alpaka/math/MathGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/math/MathStdLib.hpp delete mode 100644 alpaka/include/alpaka/math/MathUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/math/Traits.hpp delete mode 100644 alpaka/include/alpaka/mem/alloc/AllocCpuAligned.hpp delete mode 100644 alpaka/include/alpaka/mem/alloc/AllocCpuNew.hpp delete mode 100644 alpaka/include/alpaka/mem/alloc/Traits.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/BufCpu.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/BufCpuSycl.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/BufCudaRt.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/BufFpgaSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/BufGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/BufGpuSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/BufHipRt.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/BufUniformCudaHipRt.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/SetKernel.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/Traits.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/cpu/Copy.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/cpu/Set.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/sycl/Common.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/sycl/Copy.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/sycl/Set.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/uniformCudaHip/Copy.hpp delete mode 100644 alpaka/include/alpaka/mem/buf/uniformCudaHip/Set.hpp delete mode 100644 alpaka/include/alpaka/mem/fence/MemFenceCpu.hpp delete mode 100644 alpaka/include/alpaka/mem/fence/MemFenceCpuSerial.hpp delete mode 100644 alpaka/include/alpaka/mem/fence/MemFenceGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/mem/fence/MemFenceOmp2Blocks.hpp delete mode 100644 alpaka/include/alpaka/mem/fence/MemFenceOmp2Threads.hpp delete mode 100644 alpaka/include/alpaka/mem/fence/MemFenceUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/mem/fence/Traits.hpp delete mode 100644 alpaka/include/alpaka/mem/view/Traits.hpp delete mode 100644 alpaka/include/alpaka/mem/view/ViewAccessOps.hpp delete mode 100644 alpaka/include/alpaka/mem/view/ViewConst.hpp delete mode 100644 alpaka/include/alpaka/mem/view/ViewPlainPtr.hpp delete mode 100644 alpaka/include/alpaka/mem/view/ViewStdArray.hpp delete mode 100644 alpaka/include/alpaka/mem/view/ViewStdVector.hpp delete mode 100644 alpaka/include/alpaka/mem/view/ViewSubView.hpp delete mode 100644 alpaka/include/alpaka/meta/Apply.hpp delete mode 100644 alpaka/include/alpaka/meta/CartesianProduct.hpp delete mode 100644 alpaka/include/alpaka/meta/Concatenate.hpp delete mode 100644 alpaka/include/alpaka/meta/CudaVectorArrayWrapper.hpp delete mode 100644 alpaka/include/alpaka/meta/DependentFalseType.hpp delete mode 100644 alpaka/include/alpaka/meta/Filter.hpp delete mode 100644 alpaka/include/alpaka/meta/Fold.hpp delete mode 100644 alpaka/include/alpaka/meta/ForEachType.hpp delete mode 100644 alpaka/include/alpaka/meta/Functional.hpp delete mode 100644 alpaka/include/alpaka/meta/InheritFromList.hpp delete mode 100644 alpaka/include/alpaka/meta/IntegerSequence.hpp delete mode 100644 alpaka/include/alpaka/meta/Integral.hpp delete mode 100644 alpaka/include/alpaka/meta/IsArrayOrVector.hpp delete mode 100644 alpaka/include/alpaka/meta/IsStrictBase.hpp delete mode 100644 alpaka/include/alpaka/meta/NdLoop.hpp delete mode 100644 alpaka/include/alpaka/meta/NonZero.hpp delete mode 100644 alpaka/include/alpaka/meta/Set.hpp delete mode 100644 alpaka/include/alpaka/meta/Transform.hpp delete mode 100644 alpaka/include/alpaka/meta/TypeListOps.hpp delete mode 100644 alpaka/include/alpaka/meta/Unique.hpp delete mode 100644 alpaka/include/alpaka/offset/Traits.hpp delete mode 100644 alpaka/include/alpaka/platform/PlatformCpu.hpp delete mode 100644 alpaka/include/alpaka/platform/PlatformCpuSycl.hpp delete mode 100644 alpaka/include/alpaka/platform/PlatformCudaRt.hpp delete mode 100644 alpaka/include/alpaka/platform/PlatformFpgaSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/platform/PlatformGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/platform/PlatformGpuSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/platform/PlatformHipRt.hpp delete mode 100644 alpaka/include/alpaka/platform/PlatformUniformCudaHipRt.hpp delete mode 100644 alpaka/include/alpaka/platform/Traits.hpp delete mode 100644 alpaka/include/alpaka/queue/Properties.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueCpuBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueCpuNonBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueCpuSyclBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueCpuSyclNonBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueCudaRtBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueCudaRtNonBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueFpgaSyclIntelBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueFpgaSyclIntelNonBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueGenericSyclBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueGenericSyclNonBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueGenericThreadsBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueGenericThreadsNonBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueGpuSyclIntelBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueGpuSyclIntelNonBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueHipRtBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueHipRtNonBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueUniformCudaHipRtBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/QueueUniformCudaHipRtNonBlocking.hpp delete mode 100644 alpaka/include/alpaka/queue/Traits.hpp delete mode 100644 alpaka/include/alpaka/queue/cpu/ICpuQueue.hpp delete mode 100644 alpaka/include/alpaka/queue/cpu/IGenericThreadsQueue.hpp delete mode 100644 alpaka/include/alpaka/queue/cuda_hip/QueueUniformCudaHipRt.hpp delete mode 100644 alpaka/include/alpaka/queue/sycl/QueueGenericSyclBase.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/MultiplyAndSplit64to32.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxBaseCommon.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxBaseCudaArray.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxBaseStdArray.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxBaseTraits.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxConstants.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxSingle.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxStateless.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxStatelessKeyedBase.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxStatelessVector.hpp delete mode 100644 alpaka/include/alpaka/rand/Philox/PhiloxVector.hpp delete mode 100644 alpaka/include/alpaka/rand/RandDefault.hpp delete mode 100644 alpaka/include/alpaka/rand/RandGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/rand/RandPhilox.hpp delete mode 100644 alpaka/include/alpaka/rand/RandPhiloxStateless.hpp delete mode 100644 alpaka/include/alpaka/rand/RandStdLib.hpp delete mode 100644 alpaka/include/alpaka/rand/RandUniformCudaHipRand.hpp delete mode 100644 alpaka/include/alpaka/rand/TinyMT/Engine.hpp delete mode 100644 alpaka/include/alpaka/rand/TinyMT/LICENSE.txt delete mode 100644 alpaka/include/alpaka/rand/TinyMT/tinymt32.h delete mode 100644 alpaka/include/alpaka/rand/Traits.hpp delete mode 100644 alpaka/include/alpaka/standalone/CpuOmp2Blocks.hpp delete mode 100644 alpaka/include/alpaka/standalone/CpuOmp2Threads.hpp delete mode 100644 alpaka/include/alpaka/standalone/CpuSerial.hpp delete mode 100644 alpaka/include/alpaka/standalone/CpuSycl.hpp delete mode 100644 alpaka/include/alpaka/standalone/CpuTbbBlocks.hpp delete mode 100644 alpaka/include/alpaka/standalone/CpuThreads.hpp delete mode 100644 alpaka/include/alpaka/standalone/FpgaSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/standalone/GenericSycl.hpp delete mode 100644 alpaka/include/alpaka/standalone/GpuCudaRt.hpp delete mode 100644 alpaka/include/alpaka/standalone/GpuHipRt.hpp delete mode 100644 alpaka/include/alpaka/standalone/GpuSyclIntel.hpp delete mode 100644 alpaka/include/alpaka/test/Array.hpp delete mode 100644 alpaka/include/alpaka/test/Check.hpp delete mode 100644 alpaka/include/alpaka/test/Extent.hpp delete mode 100644 alpaka/include/alpaka/test/KernelExecutionFixture.hpp delete mode 100644 alpaka/include/alpaka/test/MeasureKernelRunTime.hpp delete mode 100644 alpaka/include/alpaka/test/acc/TestAccs.hpp delete mode 100644 alpaka/include/alpaka/test/dim/TestDims.hpp delete mode 100644 alpaka/include/alpaka/test/event/EventHostManualTrigger.hpp delete mode 100644 alpaka/include/alpaka/test/idx/TestIdxs.hpp delete mode 100644 alpaka/include/alpaka/test/mem/view/Iterator.hpp delete mode 100644 alpaka/include/alpaka/test/mem/view/ViewTest.hpp delete mode 100644 alpaka/include/alpaka/test/queue/Queue.hpp delete mode 100644 alpaka/include/alpaka/test/queue/QueueCpuOmp2Collective.hpp delete mode 100644 alpaka/include/alpaka/test/queue/QueueTestFixture.hpp delete mode 100644 alpaka/include/alpaka/traits/Traits.hpp delete mode 100644 alpaka/include/alpaka/vec/Traits.hpp delete mode 100644 alpaka/include/alpaka/vec/Vec.hpp delete mode 100644 alpaka/include/alpaka/version.hpp delete mode 100644 alpaka/include/alpaka/wait/Traits.hpp delete mode 100644 alpaka/include/alpaka/warp/Traits.hpp delete mode 100644 alpaka/include/alpaka/warp/WarpGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/warp/WarpSingleThread.hpp delete mode 100644 alpaka/include/alpaka/warp/WarpUniformCudaHipBuiltIn.hpp delete mode 100644 alpaka/include/alpaka/workdiv/Traits.hpp delete mode 100644 alpaka/include/alpaka/workdiv/WorkDivGenericSycl.hpp delete mode 100644 alpaka/include/alpaka/workdiv/WorkDivHelpers.hpp delete mode 100644 alpaka/include/alpaka/workdiv/WorkDivMembers.hpp delete mode 100644 alpaka/include/alpaka/workdiv/WorkDivUniformCudaHipBuiltIn.hpp delete mode 100755 alpaka/script/after_failure.sh delete mode 100755 alpaka/script/before_install.sh delete mode 100755 alpaka/script/ci.sh delete mode 100755 alpaka/script/create-single-header.sh delete mode 100755 alpaka/script/docker_ci.sh delete mode 100755 alpaka/script/docker_retry.sh delete mode 100755 alpaka/script/gitlab_ci_run.sh delete mode 100644 alpaka/script/gitlabci/fake_sudo.sh delete mode 100644 alpaka/script/gitlabci/job_analysis.yml delete mode 100644 alpaka/script/gitlabci/job_base.yml delete mode 100644 alpaka/script/gitlabci/job_clang.yml delete mode 100644 alpaka/script/gitlabci/job_cuda.yml delete mode 100755 alpaka/script/gitlabci/print_env.sh delete mode 100644 alpaka/script/homebrew/13.2.1/libomp.rb delete mode 100644 alpaka/script/homebrew/14.2/libomp.rb delete mode 100644 alpaka/script/homebrew/14.3.1/libomp.rb delete mode 100755 alpaka/script/install.sh delete mode 100755 alpaka/script/install_analysis.sh delete mode 100755 alpaka/script/install_boost.sh delete mode 100755 alpaka/script/install_clang.sh delete mode 100755 alpaka/script/install_cmake.sh delete mode 100755 alpaka/script/install_cuda.sh delete mode 100755 alpaka/script/install_doxygen.sh delete mode 100755 alpaka/script/install_gcc.sh delete mode 100755 alpaka/script/install_hip.sh delete mode 100755 alpaka/script/install_omp.sh delete mode 100755 alpaka/script/install_oneapi.sh delete mode 100755 alpaka/script/install_tbb.sh delete mode 100644 alpaka/script/job_generator/alpaka_filter.py delete mode 100644 alpaka/script/job_generator/alpaka_globals.py delete mode 100644 alpaka/script/job_generator/custom_job.py delete mode 100644 alpaka/script/job_generator/generate_job_yaml.py delete mode 100644 alpaka/script/job_generator/job_generator.py delete mode 100644 alpaka/script/job_generator/job_modifier.py delete mode 100644 alpaka/script/job_generator/reorder_jobs.py delete mode 100644 alpaka/script/job_generator/requirements.txt delete mode 100644 alpaka/script/job_generator/util.py delete mode 100644 alpaka/script/job_generator/verify.py delete mode 100644 alpaka/script/job_generator/versions.py delete mode 100755 alpaka/script/prepare_sanitizers.sh delete mode 100755 alpaka/script/print_env.sh delete mode 100755 alpaka/script/push_doc.sh delete mode 100755 alpaka/script/run.sh delete mode 100755 alpaka/script/run_analysis.sh delete mode 100755 alpaka/script/run_build.sh delete mode 100755 alpaka/script/run_doxygen.sh delete mode 100755 alpaka/script/run_generate.sh delete mode 100755 alpaka/script/run_install.sh delete mode 100755 alpaka/script/run_tests.sh delete mode 100755 alpaka/script/set.sh delete mode 100755 alpaka/script/travis_retry.sh delete mode 100644 alpaka/test/CMakeLists.txt delete mode 100644 alpaka/test/analysis/CMakeLists.txt delete mode 100644 alpaka/test/analysis/headerCheck/CMakeLists.txt delete mode 100644 alpaka/test/analysis/headerCheck/src/main.cpp delete mode 100644 alpaka/test/common/CMakeLists.txt delete mode 100644 alpaka/test/common/devCompileOptions.cmake delete mode 100644 alpaka/test/integ/CMakeLists.txt delete mode 100644 alpaka/test/integ/axpy/CMakeLists.txt delete mode 100644 alpaka/test/integ/axpy/src/axpy.cpp delete mode 100644 alpaka/test/integ/cudaOnly/CMakeLists.txt delete mode 100644 alpaka/test/integ/cudaOnly/src/cudaNativeFunctions.cpp delete mode 100644 alpaka/test/integ/hostOnlyAPI/CMakeLists.txt delete mode 100644 alpaka/test/integ/hostOnlyAPI/src/hostOnlyAPI.cpp delete mode 100644 alpaka/test/integ/mandelbrot/CMakeLists.txt delete mode 100644 alpaka/test/integ/mandelbrot/src/mandelbrot.cpp delete mode 100644 alpaka/test/integ/matMul/CMakeLists.txt delete mode 100644 alpaka/test/integ/matMul/src/matMul.cpp delete mode 100644 alpaka/test/integ/separableCompilation/CMakeLists.txt delete mode 100644 alpaka/test/integ/separableCompilation/include/mysqrt.hpp delete mode 100644 alpaka/test/integ/separableCompilation/src/main.cpp delete mode 100644 alpaka/test/integ/separableCompilation/src/mysqrt.cpp delete mode 100644 alpaka/test/integ/sharedMem/CMakeLists.txt delete mode 100644 alpaka/test/integ/sharedMem/src/sharedMem.cpp delete mode 100644 alpaka/test/integ/zeroDimBuffer/CMakeLists.txt delete mode 100644 alpaka/test/integ/zeroDimBuffer/src/zeroDimBuffer.cpp delete mode 100644 alpaka/test/unit/CMakeLists.txt delete mode 100644 alpaka/test/unit/acc/CMakeLists.txt delete mode 100644 alpaka/test/unit/acc/src/AccDevPropsTest.cpp delete mode 100644 alpaka/test/unit/acc/src/AccNameTest.cpp delete mode 100644 alpaka/test/unit/acc/src/AccTagTest.cpp delete mode 100644 alpaka/test/unit/atomic/CMakeLists.txt delete mode 100644 alpaka/test/unit/atomic/src/AtomicTest.cpp delete mode 100644 alpaka/test/unit/block/shared/CMakeLists.txt delete mode 100644 alpaka/test/unit/block/shared/src/BlockSharedMemDyn.cpp delete mode 100644 alpaka/test/unit/block/shared/src/BlockSharedMemSt.cpp delete mode 100644 alpaka/test/unit/block/sharedSharing/CMakeLists.txt delete mode 100644 alpaka/test/unit/block/sharedSharing/src/BlockSharedMemSharing.cpp delete mode 100644 alpaka/test/unit/block/sync/CMakeLists.txt delete mode 100644 alpaka/test/unit/block/sync/src/BlockSync.cpp delete mode 100644 alpaka/test/unit/block/sync/src/BlockSyncPredicate.cpp delete mode 100644 alpaka/test/unit/core/CMakeLists.txt delete mode 100644 alpaka/test/unit/core/src/BoostPredefTest.cpp delete mode 100644 alpaka/test/unit/core/src/CallbackThread.cpp delete mode 100644 alpaka/test/unit/core/src/ClipCastTest.cpp delete mode 100644 alpaka/test/unit/core/src/ConceptsTest.cpp delete mode 100644 alpaka/test/unit/core/src/OmpScheduleTest.cpp delete mode 100644 alpaka/test/unit/core/src/ThreadPool.cpp delete mode 100644 alpaka/test/unit/core/src/Utility.cpp delete mode 100644 alpaka/test/unit/dev/CMakeLists.txt delete mode 100644 alpaka/test/unit/dev/src/DevWarpSizeTest.cpp delete mode 100644 alpaka/test/unit/event/CMakeLists.txt delete mode 100644 alpaka/test/unit/event/src/EventTest.cpp delete mode 100644 alpaka/test/unit/idx/CMakeLists.txt delete mode 100644 alpaka/test/unit/idx/src/MapIdx.cpp delete mode 100644 alpaka/test/unit/idx/src/MapIdxPitchBytes.cpp delete mode 100644 alpaka/test/unit/intrinsic/CMakeLists.txt delete mode 100644 alpaka/test/unit/intrinsic/src/Ffs.cpp delete mode 100644 alpaka/test/unit/intrinsic/src/Popcount.cpp delete mode 100644 alpaka/test/unit/kernel/CMakeLists.txt delete mode 100644 alpaka/test/unit/kernel/src/KernelGenericLambda.cpp delete mode 100644 alpaka/test/unit/kernel/src/KernelLambda.cpp delete mode 100644 alpaka/test/unit/kernel/src/KernelWithAdditionalParam.cpp delete mode 100644 alpaka/test/unit/kernel/src/KernelWithConstructorAndMember.cpp delete mode 100644 alpaka/test/unit/kernel/src/KernelWithHostConstexpr.cpp delete mode 100644 alpaka/test/unit/kernel/src/KernelWithOmpSchedule.cpp delete mode 100644 alpaka/test/unit/kernel/src/KernelWithTemplate.cpp delete mode 100644 alpaka/test/unit/kernel/src/KernelWithTemplateArgumentDeduction.cpp delete mode 100644 alpaka/test/unit/kernel/src/KernelWithoutTemplatedAccParam.cpp delete mode 100644 alpaka/test/unit/math/CMakeLists.txt delete mode 100644 alpaka/test/unit/math/src/Buffer.hpp delete mode 100644 alpaka/test/unit/math/src/DataGen.hpp delete mode 100644 alpaka/test/unit/math/src/Defines.hpp delete mode 100644 alpaka/test/unit/math/src/FloatEqualExactTest.cpp delete mode 100644 alpaka/test/unit/math/src/Functor.hpp delete mode 100644 alpaka/test/unit/math/src/TestTemplate.hpp delete mode 100644 alpaka/test/unit/math/src/mathADL.cpp delete mode 100644 alpaka/test/unit/math/src/mathComplexDouble.cpp delete mode 100644 alpaka/test/unit/math/src/mathComplexFloat.cpp delete mode 100644 alpaka/test/unit/math/src/mathDouble.cpp delete mode 100644 alpaka/test/unit/math/src/mathFloat.cpp delete mode 100644 alpaka/test/unit/math/src/mathLambda.cpp delete mode 100644 alpaka/test/unit/math/src/powMixedTypes.cpp delete mode 100644 alpaka/test/unit/math/src/sincos.cpp delete mode 100644 alpaka/test/unit/mem/buf/CMakeLists.txt delete mode 100644 alpaka/test/unit/mem/buf/src/BufTest.cpp delete mode 100644 alpaka/test/unit/mem/copy/CMakeLists.txt delete mode 100644 alpaka/test/unit/mem/copy/src/BufSlicing.cpp delete mode 100644 alpaka/test/unit/mem/fence/CMakeLists.txt delete mode 100644 alpaka/test/unit/mem/fence/src/FenceTest.cpp delete mode 100644 alpaka/test/unit/mem/p2p/CMakeLists.txt delete mode 100644 alpaka/test/unit/mem/p2p/src/P2P.cpp delete mode 100644 alpaka/test/unit/mem/view/CMakeLists.txt delete mode 100644 alpaka/test/unit/mem/view/src/MdSpan.cpp delete mode 100644 alpaka/test/unit/mem/view/src/ViewConst.cpp delete mode 100644 alpaka/test/unit/mem/view/src/ViewPlainPtrTest.cpp delete mode 100644 alpaka/test/unit/mem/view/src/ViewStaticAccMem.cpp delete mode 100644 alpaka/test/unit/mem/view/src/ViewSubViewTest.cpp delete mode 100644 alpaka/test/unit/meta/CMakeLists.txt delete mode 100644 alpaka/test/unit/meta/src/ApplyTest.cpp delete mode 100644 alpaka/test/unit/meta/src/CartesianProductTest.cpp delete mode 100644 alpaka/test/unit/meta/src/ConcatenateTest.cpp delete mode 100644 alpaka/test/unit/meta/src/CudaVectorArrayWrapperTest.cpp delete mode 100644 alpaka/test/unit/meta/src/FilterTest.cpp delete mode 100644 alpaka/test/unit/meta/src/IntegralTest.cpp delete mode 100644 alpaka/test/unit/meta/src/IsArrayOrVectorTest.cpp delete mode 100644 alpaka/test/unit/meta/src/IsStrictBaseTest.cpp delete mode 100644 alpaka/test/unit/meta/src/SetTest.cpp delete mode 100644 alpaka/test/unit/meta/src/TransformTest.cpp delete mode 100644 alpaka/test/unit/meta/src/TypeListOpsTest.cpp delete mode 100644 alpaka/test/unit/meta/src/UniqueTest.cpp delete mode 100644 alpaka/test/unit/queue/CMakeLists.txt delete mode 100644 alpaka/test/unit/queue/src/CollectiveQueue.cpp delete mode 100644 alpaka/test/unit/queue/src/QueueTest.cpp delete mode 100644 alpaka/test/unit/rand/CMakeLists.txt delete mode 100644 alpaka/test/unit/rand/src/RandTest.cpp delete mode 100644 alpaka/test/unit/traits/CMakeLists.txt delete mode 100644 alpaka/test/unit/traits/src/NativeHandleTest.cpp delete mode 100644 alpaka/test/unit/vec/CMakeLists.txt delete mode 100644 alpaka/test/unit/vec/src/VecTest.cpp delete mode 100644 alpaka/test/unit/warp/CMakeLists.txt delete mode 100644 alpaka/test/unit/warp/src/Activemask.cpp delete mode 100644 alpaka/test/unit/warp/src/All.cpp delete mode 100644 alpaka/test/unit/warp/src/Any.cpp delete mode 100644 alpaka/test/unit/warp/src/Ballot.cpp delete mode 100644 alpaka/test/unit/warp/src/GetSize.cpp delete mode 100644 alpaka/test/unit/warp/src/Shfl.cpp delete mode 100644 alpaka/test/unit/warp/src/ShflDown.cpp delete mode 100644 alpaka/test/unit/warp/src/ShflUp.cpp delete mode 100644 alpaka/test/unit/warp/src/ShflXor.cpp delete mode 100644 alpaka/test/unit/workDiv/CMakeLists.txt delete mode 100644 alpaka/test/unit/workDiv/src/WorkDivHelpersTest.cpp delete mode 100644 alpaka/thirdParty/.clang-format delete mode 100644 alpaka/thirdParty/CMakeLists.txt delete mode 100644 alpaka/thirdParty/catch2/.bazelrc delete mode 100644 alpaka/thirdParty/catch2/.clang-format delete mode 100644 alpaka/thirdParty/catch2/.conan/test_package/CMakeLists.txt delete mode 100644 alpaka/thirdParty/catch2/.conan/test_package/conanfile.py delete mode 100644 alpaka/thirdParty/catch2/.conan/test_package/test_package.cpp delete mode 100644 alpaka/thirdParty/catch2/.gitattributes delete mode 100644 alpaka/thirdParty/catch2/.github/FUNDING.yml delete mode 100644 alpaka/thirdParty/catch2/.github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 alpaka/thirdParty/catch2/.github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 alpaka/thirdParty/catch2/.github/pull_request_template.md delete mode 100644 alpaka/thirdParty/catch2/.github/workflows/linux-bazel-builds.yml delete mode 100644 alpaka/thirdParty/catch2/.github/workflows/linux-meson-builds.yml delete mode 100644 alpaka/thirdParty/catch2/.github/workflows/linux-other-builds.yml delete mode 100644 alpaka/thirdParty/catch2/.github/workflows/linux-simple-builds.yml delete mode 100644 alpaka/thirdParty/catch2/.github/workflows/mac-builds.yml delete mode 100644 alpaka/thirdParty/catch2/.github/workflows/validate-header-guards.yml delete mode 100644 alpaka/thirdParty/catch2/.github/workflows/windows-simple-builds.yml delete mode 100644 alpaka/thirdParty/catch2/.gitignore delete mode 100644 alpaka/thirdParty/catch2/BUILD.bazel delete mode 100644 alpaka/thirdParty/catch2/CMake/Catch2Config.cmake.in delete mode 100644 alpaka/thirdParty/catch2/CMake/CatchConfigOptions.cmake delete mode 100644 alpaka/thirdParty/catch2/CMake/CatchMiscFunctions.cmake delete mode 100644 alpaka/thirdParty/catch2/CMake/FindGcov.cmake delete mode 100644 alpaka/thirdParty/catch2/CMake/FindLcov.cmake delete mode 100644 alpaka/thirdParty/catch2/CMake/Findcodecov.cmake delete mode 100644 alpaka/thirdParty/catch2/CMake/catch2-with-main.pc.in delete mode 100644 alpaka/thirdParty/catch2/CMake/catch2.pc.in delete mode 100755 alpaka/thirdParty/catch2/CMake/llvm-cov-wrapper delete mode 100644 alpaka/thirdParty/catch2/CMakeLists.txt delete mode 100644 alpaka/thirdParty/catch2/CMakePresets.json delete mode 100644 alpaka/thirdParty/catch2/CODE_OF_CONDUCT.md delete mode 100644 alpaka/thirdParty/catch2/Doxyfile delete mode 100644 alpaka/thirdParty/catch2/LICENSE.txt delete mode 100644 alpaka/thirdParty/catch2/README.md delete mode 100644 alpaka/thirdParty/catch2/SECURITY.md delete mode 100644 alpaka/thirdParty/catch2/WORKSPACE.bazel delete mode 100644 alpaka/thirdParty/catch2/appveyor.yml delete mode 100644 alpaka/thirdParty/catch2/codecov.yml delete mode 100644 alpaka/thirdParty/catch2/conanfile.py delete mode 100644 alpaka/thirdParty/catch2/data/artwork/catch2-c-logo.png delete mode 100644 alpaka/thirdParty/catch2/data/artwork/catch2-hand-logo.png delete mode 100644 alpaka/thirdParty/catch2/data/artwork/catch2-logo-small-with-background.png delete mode 100644 alpaka/thirdParty/catch2/data/artwork/catch2-logo-small.png delete mode 100644 alpaka/thirdParty/catch2/docs/Readme.md delete mode 100644 alpaka/thirdParty/catch2/docs/assertions.md delete mode 100644 alpaka/thirdParty/catch2/docs/benchmarks.md delete mode 100644 alpaka/thirdParty/catch2/docs/ci-and-misc.md delete mode 100644 alpaka/thirdParty/catch2/docs/cmake-integration.md delete mode 100644 alpaka/thirdParty/catch2/docs/command-line.md delete mode 100644 alpaka/thirdParty/catch2/docs/commercial-users.md delete mode 100644 alpaka/thirdParty/catch2/docs/comparing-floating-point-numbers.md delete mode 100644 alpaka/thirdParty/catch2/docs/configuration.md delete mode 100644 alpaka/thirdParty/catch2/docs/contributing.md delete mode 100644 alpaka/thirdParty/catch2/docs/deprecations.md delete mode 100644 alpaka/thirdParty/catch2/docs/event-listeners.md delete mode 100644 alpaka/thirdParty/catch2/docs/faq.md delete mode 100644 alpaka/thirdParty/catch2/docs/generators.md delete mode 100644 alpaka/thirdParty/catch2/docs/limitations.md delete mode 100644 alpaka/thirdParty/catch2/docs/list-of-examples.md delete mode 100644 alpaka/thirdParty/catch2/docs/logging.md delete mode 100644 alpaka/thirdParty/catch2/docs/matchers.md delete mode 100644 alpaka/thirdParty/catch2/docs/migrate-v2-to-v3.md delete mode 100644 alpaka/thirdParty/catch2/docs/opensource-users.md delete mode 100644 alpaka/thirdParty/catch2/docs/other-macros.md delete mode 100644 alpaka/thirdParty/catch2/docs/own-main.md delete mode 100644 alpaka/thirdParty/catch2/docs/release-notes.md delete mode 100644 alpaka/thirdParty/catch2/docs/release-process.md delete mode 100644 alpaka/thirdParty/catch2/docs/reporter-events.md delete mode 100644 alpaka/thirdParty/catch2/docs/reporters.md delete mode 100644 alpaka/thirdParty/catch2/docs/skipping-passing-failing.md delete mode 100644 alpaka/thirdParty/catch2/docs/test-cases-and-sections.md delete mode 100644 alpaka/thirdParty/catch2/docs/test-fixtures.md delete mode 100644 alpaka/thirdParty/catch2/docs/tostring.md delete mode 100644 alpaka/thirdParty/catch2/docs/tutorial.md delete mode 100644 alpaka/thirdParty/catch2/docs/usage-tips.md delete mode 100644 alpaka/thirdParty/catch2/docs/why-catch.md delete mode 100644 alpaka/thirdParty/catch2/examples/010-TestCase.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/020-TestCase-1.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/020-TestCase-2.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/030-Asn-Require-Check.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/100-Fix-Section.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/110-Fix-ClassFixture.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/120-Bdd-ScenarioGivenWhenThen.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/210-Evt-EventListeners.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/231-Cfg-OutputStreams.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/300-Gen-OwnGenerator.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/301-Gen-MapTypeConversion.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/302-Gen-Table.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/310-Gen-VariablesInGenerators.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/311-Gen-CustomCapture.cpp delete mode 100644 alpaka/thirdParty/catch2/examples/CMakeLists.txt delete mode 100644 alpaka/thirdParty/catch2/extras/Catch.cmake delete mode 100644 alpaka/thirdParty/catch2/extras/CatchAddTests.cmake delete mode 100644 alpaka/thirdParty/catch2/extras/CatchShardTests.cmake delete mode 100644 alpaka/thirdParty/catch2/extras/CatchShardTestsImpl.cmake delete mode 100644 alpaka/thirdParty/catch2/extras/ParseAndAddCatchTests.cmake delete mode 100644 alpaka/thirdParty/catch2/extras/catch_amalgamated.cpp delete mode 100644 alpaka/thirdParty/catch2/extras/catch_amalgamated.hpp delete mode 100644 alpaka/thirdParty/catch2/extras/gdbinit delete mode 100644 alpaka/thirdParty/catch2/extras/lldbinit delete mode 100644 alpaka/thirdParty/catch2/fuzzing/CMakeLists.txt delete mode 100644 alpaka/thirdParty/catch2/fuzzing/NullOStream.cpp delete mode 100644 alpaka/thirdParty/catch2/fuzzing/NullOStream.h delete mode 100644 alpaka/thirdParty/catch2/fuzzing/fuzz_TestSpecParser.cpp delete mode 100644 alpaka/thirdParty/catch2/fuzzing/fuzz_XmlWriter.cpp delete mode 100644 alpaka/thirdParty/catch2/fuzzing/fuzz_textflow.cpp delete mode 100644 alpaka/thirdParty/catch2/mdsnippets.json delete mode 100644 alpaka/thirdParty/catch2/meson.build delete mode 100644 alpaka/thirdParty/catch2/src/CMakeLists.txt delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_benchmark.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_benchmark_all.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_chronometer.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_chronometer.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_clock.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_constructor.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_environment.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_estimate.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_execution_plan.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_optimizer.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_outlier_classification.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/catch_sample_analysis.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_analyse.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_benchmark_function.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_benchmark_function.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_complete_invoke.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_estimate_clock.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_measure.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_repeat.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_run_for_at_least.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_run_for_at_least.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_stats.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_stats.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/benchmark/detail/catch_timing.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_all.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_approx.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_approx.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_assertion_info.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_assertion_result.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_assertion_result.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_config.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_config.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_get_random_seed.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_get_random_seed.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_message.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_message.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_registry_hub.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_section_info.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_session.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_session.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_tag_alias.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_tag_alias_autoregistrar.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_tag_alias_autoregistrar.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_template_test_macros.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_test_case_info.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_test_case_info.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_test_macros.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_test_spec.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_test_spec.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_timer.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_timer.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_tostring.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_tostring.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_totals.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_totals.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_translate_exception.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_user_config.hpp.in delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_version.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_version.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/catch_version_macros.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/generators/catch_generator_exception.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/generators/catch_generator_exception.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/generators/catch_generators.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/generators/catch_generators.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/generators/catch_generators_adapters.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/generators/catch_generators_all.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/generators/catch_generators_random.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/generators/catch_generators_random.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/generators/catch_generators_range.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_all.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_capture.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_capture.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_config.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_config.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_enum_values_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_exception.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_exception.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_generatortracker.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_generatortracker.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_registry_hub.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_registry_hub.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_reporter.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_reporter.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_reporter_factory.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_reporter_factory.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_reporter_registry.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_reporter_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_tag_alias_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_testcase.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/interfaces/catch_interfaces_testcase.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_assertion_handler.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_assertion_handler.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_case_insensitive_comparisons.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_case_insensitive_comparisons.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_case_sensitive.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_clara.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_clara.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_commandline.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_commandline.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_compare_traits.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_compiler_capabilities.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_config_android_logwrite.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_config_counter.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_config_uncaught_exceptions.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_config_wchar.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_console_colour.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_console_colour.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_console_width.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_container_nonmembers.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_context.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_context.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_debug_console.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_debug_console.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_debugger.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_debugger.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_decomposer.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_decomposer.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_enforce.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_enforce.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_enum_values_registry.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_enum_values_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_errno_guard.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_errno_guard.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_exception_translator_registry.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_exception_translator_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_fatal_condition_handler.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_fatal_condition_handler.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_floating_point_helpers.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_floating_point_helpers.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_getenv.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_getenv.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_is_permutation.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_istream.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_istream.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_lazy_expr.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_lazy_expr.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_leak_detector.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_leak_detector.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_list.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_list.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_logical_traits.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_main.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_message_info.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_message_info.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_meta.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_move_and_forward.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_noncopyable.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_optional.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_output_redirect.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_output_redirect.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_parse_numbers.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_parse_numbers.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_platform.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_polyfills.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_polyfills.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_preprocessor.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_preprocessor_remove_parens.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_random_number_generator.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_random_number_generator.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_random_seed_generation.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_random_seed_generation.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_reporter_registry.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_reporter_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_reporter_spec_parser.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_reporter_spec_parser.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_result_type.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_result_type.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_reusable_string_stream.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_reusable_string_stream.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_run_context.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_run_context.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_section.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_section.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_sharding.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_singletons.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_singletons.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_source_line_info.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_source_line_info.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_startup_exception_registry.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_startup_exception_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_stdstreams.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_stdstreams.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_stream_end_stop.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_string_manip.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_string_manip.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_stringref.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_stringref.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_tag_alias_registry.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_tag_alias_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_template_test_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_case_info_hasher.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_case_info_hasher.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_case_registry_impl.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_case_registry_impl.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_case_tracker.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_case_tracker.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_failure_exception.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_failure_exception.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_macro_impl.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_registry.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_registry.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_spec_parser.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_test_spec_parser.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_textflow.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_textflow.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_to_string.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_uncaught_exceptions.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_uncaught_exceptions.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_unique_name.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_unique_ptr.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_void_type.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_wildcard_pattern.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_wildcard_pattern.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_windows_h_proxy.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_xmlwriter.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/internal/catch_xmlwriter.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_all.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_container_properties.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_container_properties.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_contains.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_exception.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_exception.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_floating_point.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_floating_point.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_predicate.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_predicate.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_quantifiers.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_quantifiers.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_range_equals.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_string.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_string.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_templated.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_templated.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/catch_matchers_vector.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/internal/catch_matchers_impl.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/matchers/internal/catch_matchers_impl.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/meson.build delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_automake.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_automake.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_common_base.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_common_base.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_compact.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_compact.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_console.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_console.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_cumulative_base.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_cumulative_base.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_event_listener.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_event_listener.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_helpers.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_helpers.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_junit.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_junit.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_multi.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_multi.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_registrars.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_registrars.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_sonarqube.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_sonarqube.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_streaming_base.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_streaming_base.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_tap.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_tap.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_teamcity.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_teamcity.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_xml.cpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporter_xml.hpp delete mode 100644 alpaka/thirdParty/catch2/src/catch2/reporters/catch_reporters_all.hpp delete mode 100644 alpaka/thirdParty/catch2/tests/CMakeLists.txt delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/CMakeLists.txt delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/ToDo.txt delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X01-PrefixedMacros.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X02-DisabledMacros.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X03-DisabledExceptions-DefaultHandler.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X04-DisabledExceptions-CustomHandler.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X05-DeferredStaticChecks.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X10-FallbackStringifier.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X11-DisableStringification.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X12-CustomDebugBreakMacro.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X21-PartialTestCaseEvents.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X22-BenchmarksInCumulativeReporter.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X23-CasingInReporterNames.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X24-ListenerStdoutCaptureInMultireporter.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X25-ListenerCanAskForCapturedStdout.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X26-ReporterPreferencesForPassingAssertionsIsRespected.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X27-CapturedStdoutInTestCaseEvents.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X28-ListenersGetEventsBeforeReporters.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X29-CustomArgumentsForReporters.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X30-BazelReporter.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X31-DuplicatedTestCases.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X32-DuplicatedTestCasesDifferentTags.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X33-DuplicatedTestCaseMethods.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X34-DuplicatedTestCaseMethodsDifferentFixtures.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X35-DuplicatedReporterNames.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X90-WindowsHeaderInclusion.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X91-AmalgamatedCatch.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X92-NoTests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/ExtraTests/X93-AllSkipped.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/automake.std.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/automake.sw.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/automake.sw.multi.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/compact.sw.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/compact.sw.multi.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/console.std.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/console.sw.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/console.sw.multi.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/console.swa4.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/default.sw.multi.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/junit.sw.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/junit.sw.multi.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/sonarqube.sw.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/sonarqube.sw.multi.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/tap.sw.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/tap.sw.multi.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/teamcity.sw.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/teamcity.sw.multi.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/xml.sw.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Baselines/xml.sw.multi.approved.txt delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Algorithms.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Clara.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/CmdLine.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/CmdLineHelpers.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/ColourImpl.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Details.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/FloatingPoint.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/InternalBenchmark.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Parse.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/PartTracker.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/RandomNumberGeneration.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Reporters.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Sharding.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Stream.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/String.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/StringManip.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Tag.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/TestCaseInfoHasher.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/TestSpecParser.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/TextFlow.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/ToString.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Traits.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/UniquePtr.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/IntrospectiveTests/Xml.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Misc/invalid-test-names.input delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Misc/plain-old-tests.input delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/Misc/special-characters-in-file.input delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/TestRegistrations.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/TimingTests/Sleep.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Approx.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/BDD.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Benchmark.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Class.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Compilation.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Condition.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Decomposition.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/EnumToString.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Exception.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Generators.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Matchers.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/MatchersRanges.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Message.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Misc.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Skip.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/ToStringByte.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/ToStringChrono.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/ToStringGeneral.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/ToStringOptional.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/ToStringPair.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/ToStringTuple.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/ToStringVariant.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/ToStringVector.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/ToStringWhich.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/Tricky.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/UsageTests/VariadicMacros.tests.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/helpers/parse_test_spec.cpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/helpers/parse_test_spec.hpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/helpers/range_test_helpers.hpp delete mode 100644 alpaka/thirdParty/catch2/tests/SelfTest/helpers/type_with_lit_0_comparisons.hpp delete mode 100644 alpaka/thirdParty/catch2/tests/TestScripts/ConfigureTestsCommon.py delete mode 100644 alpaka/thirdParty/catch2/tests/TestScripts/testBazelReporter.py delete mode 100755 alpaka/thirdParty/catch2/tests/TestScripts/testBazelSharding.py delete mode 100644 alpaka/thirdParty/catch2/tests/TestScripts/testConfigureDefaultReporter.py delete mode 100644 alpaka/thirdParty/catch2/tests/TestScripts/testConfigureDisable.py delete mode 100644 alpaka/thirdParty/catch2/tests/TestScripts/testConfigureDisableStringification.py delete mode 100644 alpaka/thirdParty/catch2/tests/TestScripts/testConfigureExperimentalRedirect.py delete mode 100755 alpaka/thirdParty/catch2/tests/TestScripts/testPartialTestCaseEvent.py delete mode 100755 alpaka/thirdParty/catch2/tests/TestScripts/testRandomOrder.py delete mode 100755 alpaka/thirdParty/catch2/tests/TestScripts/testSharding.py delete mode 100644 alpaka/thirdParty/catch2/tests/meson.build delete mode 100644 alpaka/thirdParty/catch2/third_party/clara.hpp delete mode 100644 alpaka/thirdParty/catch2/tools/misc/CMakeLists.txt delete mode 100644 alpaka/thirdParty/catch2/tools/misc/appveyorBuildConfigurationScript.bat delete mode 100644 alpaka/thirdParty/catch2/tools/misc/appveyorMergeCoverageScript.py delete mode 100644 alpaka/thirdParty/catch2/tools/misc/appveyorTestRunScript.bat delete mode 100644 alpaka/thirdParty/catch2/tools/misc/coverage-helper.cpp delete mode 100644 alpaka/thirdParty/catch2/tools/misc/installOpenCppCoverage.ps1 delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/approvalTests.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/approve.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/checkConvenienceHeaders.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/checkDuplicateFilenames.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/checkLicense.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/developBuild.py delete mode 100644 alpaka/thirdParty/catch2/tools/scripts/extractFeaturesFromReleaseNotes.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/fixWhitespace.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/generateAmalgamatedFiles.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/majorRelease.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/minorRelease.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/patchRelease.py delete mode 100644 alpaka/thirdParty/catch2/tools/scripts/releaseCommon.py delete mode 100644 alpaka/thirdParty/catch2/tools/scripts/scriptCommon.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/updateDocumentSnippets.py delete mode 100755 alpaka/thirdParty/catch2/tools/scripts/updateDocumentToC.py diff --git a/alpaka/.clang-format b/alpaka/.clang-format deleted file mode 100644 index 0056379b..00000000 --- a/alpaka/.clang-format +++ /dev/null @@ -1,170 +0,0 @@ ---- -# General options -Language: Cpp -Standard: c++17 -DisableFormat: false - -AccessModifierOffset: -4 -AlignAfterOpenBracket: AlwaysBreak -AlignArrayOfStructures: None -AlignConsecutiveAssignments: false -AlignConsecutiveBitFields: false -AlignConsecutiveDeclarations: false -AlignConsecutiveMacros: false -AlignEscapedNewlines: Right -AlignOperands: Align -AlignTrailingComments: - Kind: Never -AllowAllArgumentsOnNextLine: false -AllowAllParametersOfDeclarationOnNextLine: false -AllowShortBlocksOnASingleLine: Never -AllowShortCaseLabelsOnASingleLine: false -AllowShortEnumsOnASingleLine: false -AllowShortFunctionsOnASingleLine: None -AllowShortIfStatementsOnASingleLine: Never -AllowShortLambdasOnASingleLine: All -AllowShortLoopsOnASingleLine: false -AlwaysBreakAfterReturnType: None -AlwaysBreakBeforeMultilineStrings: false -AlwaysBreakTemplateDeclarations: Yes -BinPackArguments: false -BinPackParameters: false -BitFieldColonSpacing: Both -BreakAfterAttributes: Never -BreakBeforeBinaryOperators: All -BreakBeforeBraces: Allman -BreakBeforeConceptDeclarations: Always -BreakBeforeInlineASMColon: OnlyMultiline -BreakBeforeTernaryOperators: true -BreakConstructorInitializers: BeforeComma -BreakInheritanceList: BeforeComma -BreakStringLiterals: true -ColumnLimit: 119 -CommentPragmas: '^ COMMENT pragma:' -CompactNamespaces: false -ConstructorInitializerIndentWidth: 4 -ContinuationIndentWidth: 4 -Cpp11BracedListStyle: true -DerivePointerAlignment: false -EmptyLineAfterAccessModifier: Never -EmptyLineBeforeAccessModifier: Always -ExperimentalAutoDetectBinPacking: false -FixNamespaceComments: true -IncludeBlocks: Regroup -IncludeIsMainRegex: '(Test)?$' -IncludeIsMainSourceRegex: '' -IndentAccessModifiers: false -IndentCaseBlocks: true -IndentCaseLabels: false -IndentExternBlock: AfterExternBlock -IndentGotoLabels: true -IndentPPDirectives: AfterHash -IndentRequiresClause: false -IndentWidth: 4 -IndentWrappedFunctionNames: false -InsertBraces: false -InsertNewlineAtEOF: true -IntegerLiteralSeparator: - Binary: 4 - Decimal: 3 - DecimalMinDigits: 7 - Hex: 4 -KeepEmptyLinesAtTheStartOfBlocks: false -LambdaBodyIndentation: Signature -LineEnding: DeriveLF -MacroBlockBegin: '' -MacroBlockEnd: '' -MaxEmptyLinesToKeep: 2 -NamespaceIndentation: All -PackConstructorInitializers: CurrentLine -PenaltyBreakAssignment: 2 -PenaltyBreakBeforeFirstCallParameter: 19 -PenaltyBreakComment: 300 -PenaltyBreakFirstLessLess: 120 -PenaltyBreakOpenParenthesis: 0 # default made explicit here -PenaltyBreakString: 1000 -PenaltyBreakTemplateDeclaration: 10 -PenaltyExcessCharacter: 1000000 -PenaltyIndentedWhitespace: 0 # default made explicit here -PenaltyReturnTypeOnItsOwnLine: 1000 -PointerAlignment: Left -PPIndentWidth: -1 # follow IndentWidth -QualifierAlignment: Custom -QualifierOrder: ['friend', 'static', 'inline', 'constexpr', 'type', 'const', 'volatile', 'restrict'] -ReferenceAlignment: Pointer # follow PointerAlignment -ReflowComments: true -RemoveBracesLLVM: false -RemoveSemicolon: false -RequiresClausePosition: WithPreceding -RequiresExpressionIndentation: OuterScope -ShortNamespaceLines: 0 -SortIncludes: true -SortUsingDeclarations: Lexicographic -SeparateDefinitionBlocks: Always -SpaceAfterCStyleCast: true -SpaceAfterLogicalNot: false -SpaceAfterTemplateKeyword: false -SpaceAroundPointerQualifiers: Default # follow PointerAlignment -SpaceBeforeAssignmentOperators: true -SpaceBeforeCaseColon: false -SpaceBeforeCpp11BracedList: false -SpaceBeforeCtorInitializerColon: true -SpaceBeforeInheritanceColon: true -SpaceBeforeParens: Never -SpaceBeforeRangeBasedForLoopColon: true -SpaceBeforeSquareBrackets: false -SpaceInEmptyBlock: false -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 1 -SpacesInAngles: false -SpacesInConditionalStatement: false -SpacesInContainerLiterals: false -SpacesInCStyleCastParentheses: false -SpacesInLineCommentPrefix: - Minimum: 1 - Maximum: -1 -SpacesInParentheses: false -SpacesInSquareBrackets: false -TabWidth: 4 -UseCRLF: false -UseTab: Never - -# Project specific options -#AttributeMacros: [] -#ForEachMacros: [] -#IfMacros: [] -IncludeCategories: - # Local headers (in "") above all else - - Regex: '"([A-Za-z0-9.\/-_])+"' - Priority: 1 - # "alpaka/foo.hpp" after local headers (occur inside alpaka) - - Regex: '"alpaka/([A-Za-z0-9.\/-_])+"' - Priority: 2 - # after local headers (occur outside alpaka in examples and test) - - Regex: '' - Priority: 3 - # C++ standard library headers are the last group to be included - - Regex: '<([A-Za-z0-9\/-_])+>' - Priority: 5 - # Includes that made it this far are third-party headers and will be placed - # below alpaka's includes - - Regex: '<([A-Za-z0-9.\/-_])+>' - Priority: 4 -# Macros: [] -# NamespaceMacros: [] -StatementAttributeLikeMacros: - - 'ALPAKA_DEVICE_VOLATILE' - - 'ALPAKA_FN_ACC' - - 'ALPAKA_FN_EXTERN' - - 'ALPAKA_FN_HOST' - - 'ALPAKA_FN_HOST_ACC' - - 'ALPAKA_FN_INLINE' - - 'ALPAKA_STATIC_ACC_MEM_CONSTANT' - - 'ALPAKA_STATIC_ACC_MEM_GLOBAL' - - 'ALPAKA_UNROLL' - - 'ALPAKA_VECTORIZE_HINT' -#StatementMacros: [] -#TypenameMacros: [] -#WhitespaceSensitiveMacros: [] - -... diff --git a/alpaka/.dockerignore b/alpaka/.dockerignore deleted file mode 100644 index 3195484c..00000000 --- a/alpaka/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -.git diff --git a/alpaka/.github/workflows/ci.yml b/alpaka/.github/workflows/ci.yml deleted file mode 100644 index 709d1c5f..00000000 --- a/alpaka/.github/workflows/ci.yml +++ /dev/null @@ -1,202 +0,0 @@ -# -# Copyright 2023 Benjamin Worpitz, René Widera, Bernhard Manfred Gruber, Jan Stephan, Simeon Ehrig -# SPDX-License-Identifier: MPL-2.0 -# - -name: Continuous Integration - -on: [push, pull_request] - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} - cancel-in-progress: true - -################################################################################ -# NOTE: Testing the full matrix is not practical. -# Therefore we aim to have each value been set in at lest one job. -# CXX : {g++, clang++} -# [g++] ALPAKA_CI_GCC_VER : {9, 10, 11, 12, 13} -# [clang++] ALPAKA_CI_CLANG_VER : {9, 10, 11, 12, 13, 14} -# [cl.exe] ALPAKA_CI_CL_VER : {2022} -# ALPAKA_CI_STDLIB : {libstdc++, [CXX==clang++]:libc++} -# CMAKE_BUILD_TYPE : {Debug, Release} -# alpaka_CI : {GITHUB} -# ALPAKA_CI_DOCKER_BASE_IMAGE_NAME : {ubuntu:20.04, ubuntu:22.04} -# ALPAKA_BOOST_VERSION : {1.74.0, 1.75.0, 1.76.0, 1.77.0, 1.78.0, 1.79.0, 1.80.0, 1.81.0, 1.82.0} -# ALPAKA_CI_CMAKE_VER : {3.22.6, 3.23.5, 3.24.4, 3.25.3, 3.26.4} -# ALPAKA_CI_XCODE_VER : {13.2.1, 14.2} -# ALPAKA_CI_SANITIZERS : {ASan, UBsan, TSan} -# TSan is not currently used because it produces many unexpected errors -# ALPAKA_CI_ANALYSIS : {ON, OFF} -# alpaka_DEBUG : {0, 1, 2} -# alpaka_ACC_GPU_CUDA_ONLY_MODE : {ON, OFF} -# alpaka_ACC_GPU_HIP_ONLY_MODE : {ON, OFF} -# alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE : {ON, OFF} -# alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE : {ON, OFF} -# alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE : {ON, OFF} -# [ON] OMP_NUM_THREADS : {1, 2, 3, 4} -# alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE : {ON, OFF} -# [ON] OMP_NUM_THREADS : {1, 2, 3, 4} -# alpaka_ACC_ANY_BT_OMP5_ENABLE : {ON, OFF} -# [ON] OMP_NUM_THREADS : {1, 2, 3, 4} -# alpaka_ACC_GPU_CUDA_ENABLE : {ON, OFF} -# [ON] ALPAKA_CI_CUDA_VERSION : {11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6} -# [ON] CMAKE_CUDA_COMPILER : {nvcc, [CXX==clang++]:clang++} -# alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE : {ON, OFF} -# alpaka_ACC_GPU_HIP_ENABLE : {ON, OFF} -# [ON] ALPAKA_CI_HIP_BRANCH : {rocm-4.2} -# alpaka_USE_MDSPAN : {OFF, FETCH, SYSTEM} - -# if you add/remove any CI variable, also update docker_ci.sh -env: - alpaka_CI: GITHUB - ALPAKA_CI_BUILD_JOBS: 2 - TBB_ROOT: ${{ github.workspace }}/tbb - BOOST_ROOT: ${{ github.workspace }}/boost - ALPAKA_CI_BOOST_LIB_DIR: ${{ github.workspace }}/boost_libs - ALPAKA_CI_CMAKE_DIR: ${{ github.workspace }}/CMake - ALPAKA_CI_CUDA_DIR: ${{ github.workspace }}/CUDA - ALPAKA_CI_HIP_ROOT_DIR: ${{ github.workspace }}/hip - ALPAKA_CI_SANITIZERS: "" - ALPAKA_CI_ANALYSIS: OFF - ALPAKA_CI_ONEAPI_VERSION: 2023.2.0 - ALPAKA_CI_TBB_VERSION: 2021.10.0 - ALPAKA_CI_RUN_TESTS: ON - alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE: ON - alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE: ON - alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE: ON - alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE: ON - alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE: ON - alpaka_ACC_ANY_BT_OMP5_ENABLE: OFF - alpaka_ACC_GPU_CUDA_ENABLE: OFF - alpaka_ACC_GPU_CUDA_ONLY_MODE: OFF - alpaka_ACC_GPU_HIP_ENABLE: OFF - alpaka_ACC_GPU_HIP_ONLY_MODE: OFF - alpaka_USE_MDSPAN: OFF - alpaka_ENABLE_WERROR: ON - CMAKE_INSTALL_PREFIX: ${{ github.workspace }}/_install - -jobs: - clang-format: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v3 - - uses: DoozyX/clang-format-lint-action@v0.16.2 - with: - clangFormatVersion: 16 - exclude: './thirdParty' - inplace: True - - run: | - git diff --exit-code > format.patch - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: format.patch - path: format.patch - - ci: - needs: clang-format - name: ${{ matrix.name }} - runs-on: ${{ matrix.os }} - env: ${{ matrix.env }} - - strategy: - fail-fast: false - matrix: - include: - ### Analysis builds - - name: linux_clang-14_cuda-11.2_debug_analysis - os: ubuntu-20.04 - env: {CXX: clang++, CC: clang, ALPAKA_CI_CLANG_VER: 14, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.79.0, ALPAKA_CI_CMAKE_VER: 3.23.5, OMP_NUM_THREADS: 4, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:20.04", ALPAKA_CI_ANALYSIS: ON, ALPAKA_CI_RUN_TESTS: OFF, alpaka_DEBUG: 1, alpaka_ACC_GPU_CUDA_ENABLE: ON, ALPAKA_CI_CUDA_VERSION: "11.2", CMAKE_CUDA_COMPILER: clang++, alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE: OFF, alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE: OFF} - - name: windows_cl-2022_debug_analysis - os: windows-2022 - env: {CXX: cl.exe, CC: cl.exe, ALPAKA_CI_CL_VER: 2022, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.78.0, ALPAKA_CI_CMAKE_VER: 3.23.5, ALPAKA_CI_ANALYSIS: ON, alpaka_DEBUG: 2} - - name: macos_xcode-14.2_debug_analysis - os: macos-12 - env: {CXX: clang++, CC: clang, ALPAKA_CI_XCODE_VER: 14.2, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.81.0, ALPAKA_CI_ANALYSIS: ON, alpaka_DEBUG: 2, alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE: ON, alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE: ON, ALPAKA_CI_BUILD_JOBS: 3} - - name: linux_gcc-12_debug_analysis - os: ubuntu-22.04 - env: {CXX: g++, CC: gcc, ALPAKA_CI_GCC_VER: 12, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.80.0, ALPAKA_CI_CMAKE_VER: 3.23.5, OMP_NUM_THREADS: 4, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:22.04", ALPAKA_CI_ANALYSIS: ON, alpaka_DEBUG: 2} - - ### macOS - - name: macos_xcode-14.2_release - os: macos-12 - env: {CXX: clang++, CC: clang, ALPAKA_CI_XCODE_VER: 14.2, CMAKE_BUILD_TYPE: Release, ALPAKA_BOOST_VERSION: 1.81.0, alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE: ON, alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE: ON, ALPAKA_CI_BUILD_JOBS: 3} - - name: macos_xcode-14.3.1_debug - os: macos-13 - env: {CXX: clang++, CC: clang, ALPAKA_CI_XCODE_VER: 14.3.1, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.82.0, alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE: ON, alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE: ON, ALPAKA_CI_BUILD_JOBS: 3} - - ### Windows - - name: windows_cl-2022_release - os: windows-2022 - env: {CXX: cl.exe, CC: cl.exe, ALPAKA_CI_CL_VER: 2022, CMAKE_BUILD_TYPE: Release, ALPAKA_BOOST_VERSION: 1.79.0, ALPAKA_CI_CMAKE_VER: 3.24.4, OMP_NUM_THREADS: 1} - - name: windows_cl-2022_debug - os: windows-2022 - env: {CXX: cl.exe, CC: cl.exe, ALPAKA_CI_CL_VER: 2022, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.80.0, ALPAKA_CI_CMAKE_VER: 3.25.1, OMP_NUM_THREADS: 4, alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE: OFF, alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE: OFF} - - ## CUDA 12.1 - # nvcc + MSVC - # - name: windows_nvcc-12.1_cl-2022_release_cuda-only - # os: windows-2022 - # env: {CXX: cl.exe, CC: cl.exe, ALPAKA_CI_CL_VER: 2022, CMAKE_BUILD_TYPE: Release, ALPAKA_BOOST_VERSION: 1.81.0, ALPAKA_CI_CMAKE_VER: 3.24.4, ALPAKA_CI_RUN_TESTS: OFF, alpaka_ACC_GPU_CUDA_ENABLE: ON, ALPAKA_CI_CUDA_VERSION: "12.1", CMAKE_CUDA_ARCHITECTURES: "50;90", alpaka_ACC_GPU_CUDA_ONLY_MODE: ON, alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE: OFF, alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE: OFF, alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE: OFF, alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE: OFF, alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE: OFF} - # - name: windows_nvcc-12.1_cl-2022_debug - # os: windows-2022 - # env: {CXX: cl.exe, CC: cl.exe, ALPAKA_CI_CL_VER: 2022, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.78.0, ALPAKA_CI_CMAKE_VER: 3.25.1, ALPAKA_CI_RUN_TESTS: OFF, alpaka_ACC_GPU_CUDA_ENABLE: ON, ALPAKA_CI_CUDA_VERSION: "12.1", alpaka_ACC_CPU_BT_OMP5_ENABLE: OFF, alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE: OFF} - - ### Ubuntu - ## native - # g++ - # We can not enable UBSan when using gcc because it does not have a -fsanitize-blacklist option to suppress errors in boost etc. - # gcc 7 ASan introduced 'stack-use-after-scope' which is triggered by GOMP_parallel - # TODO: keep jobs until GitLab CI supports: - # - disable CMAKE_CXX_EXTENSIONS=OFF - # - Ubuntu 22.04 - - name: linux_gcc-9_debug - os: ubuntu-20.04 - env: {CXX: g++, CC: gcc, ALPAKA_CI_GCC_VER: 9, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.74.0, ALPAKA_CI_CMAKE_VER: 3.22.6, OMP_NUM_THREADS: 4, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:20.04", CMAKE_CXX_EXTENSIONS: OFF} - - name: linux_gcc-12_release_c++20 - os: ubuntu-22.04 - env: {CXX: g++, CC: gcc, ALPAKA_CI_GCC_VER: 12, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Release, ALPAKA_BOOST_VERSION: 1.80.0, ALPAKA_CI_CMAKE_VER: 3.24.4, OMP_NUM_THREADS: 2, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:22.04", alpaka_CXX_STANDARD: 20, alpaka_USE_MDSPAN: "FETCH"} - - name: linux_gcc-13_debug - os: ubuntu-22.04 - env: {CXX: g++, CC: gcc, ALPAKA_CI_GCC_VER: 13, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.82.0, ALPAKA_CI_CMAKE_VER: 3.26.4, OMP_NUM_THREADS: 2, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:22.04"} - - # TODO: keep jobs until GitLab CI supports: - # - disable CMAKE_CXX_EXTENSIONS=OFF - # - Ubuntu 22.04 - # - libc++ - # - sanitizer jobs - # clang++ - - name: linux_clang-10_release - os: ubuntu-20.04 - env: {CXX: clang++, CC: clang, ALPAKA_CI_CLANG_VER: 10, ALPAKA_CI_STDLIB: libc++, CMAKE_BUILD_TYPE: Release, ALPAKA_BOOST_VERSION: 1.75.0, ALPAKA_CI_CMAKE_VER: 3.23.5, OMP_NUM_THREADS: 4, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:20.04", alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE: OFF, CMAKE_CXX_EXTENSIONS: OFF} - # clang-11 tested in GitLab CI - - name: linux_clang-12_release - os: ubuntu-20.04 - env: {CXX: clang++, CC: clang, ALPAKA_CI_CLANG_VER: 12, ALPAKA_CI_STDLIB: libc++, CMAKE_BUILD_TYPE: Release, ALPAKA_BOOST_VERSION: 1.77.0, ALPAKA_CI_CMAKE_VER: 3.24.4, OMP_NUM_THREADS: 4, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:20.04", alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE: OFF, CMAKE_CXX_EXTENSIONS: OFF} - - name: linux_clang-13_debug - os: ubuntu-22.04 - env: {CXX: clang++, CC: clang, ALPAKA_CI_CLANG_VER: 13, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.79.0, ALPAKA_CI_CMAKE_VER: 3.23.5, OMP_NUM_THREADS: 3, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:20.04", CMAKE_CXX_EXTENSIONS: OFF} - - name: linux_clang-16_debug_ubsan - os: ubuntu-latest - env: {CXX: clang++, CC: clang, ALPAKA_CI_CLANG_VER: 16, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.77.0, ALPAKA_CI_CMAKE_VER: 3.23.5, OMP_NUM_THREADS: 4, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:22.04", CMAKE_CXX_EXTENSIONS: OFF, ALPAKA_CI_SANITIZERS: UBSan} - - name: linux_clang-16_debug_tsan - os: ubuntu-latest - env: {CXX: clang++, CC: clang, ALPAKA_CI_CLANG_VER: 16, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.77.0, ALPAKA_CI_CMAKE_VER: 3.23.5, OMP_NUM_THREADS: 4, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:22.04", alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE: OFF, alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE: OFF, alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE: OFF, CMAKE_CXX_EXTENSIONS: OFF, ALPAKA_CI_SANITIZERS: TSan} - - steps: - - name: check filter - if: (contains(github.event.head_commit.message, 'ci_filter') && !contains(github.event.head_commit.message, matrix.name )) - run: exit 1 - - uses: actions/checkout@v3 - - name: build + test - if: (runner.os == 'Windows') - env: - ALPAKA_CI_OS_NAME: ${{runner.os}} - shell: bash - run: cd ${GITHUB_WORKSPACE} && ./script/ci.sh - - name: build + test - if: (runner.os == 'Linux' || runner.os == 'macOS') - env: - ALPAKA_CI_OS_NAME: ${{runner.os}} - run: cd ${GITHUB_WORKSPACE} && ./script/ci.sh diff --git a/alpaka/.github/workflows/gh-pages.yml b/alpaka/.github/workflows/gh-pages.yml deleted file mode 100644 index 256ee452..00000000 --- a/alpaka/.github/workflows/gh-pages.yml +++ /dev/null @@ -1,27 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -name: Publish documentation to gh-pages - -on: - push: - branches: - - develop - -jobs: - gh-pages: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Install doxygen - run: | - cd ${GITHUB_WORKSPACE} - ./script/install_doxygen.sh - - name: Run doxygen - run: | - cd ${GITHUB_WORKSPACE} - ./script/run_doxygen.sh ${{ github.repository }} ${{ secrets.github_token }} - - name: Publish documentation - run: | - cd ${GITHUB_WORKSPACE} - ./script/push_doc.sh diff --git a/alpaka/.github/workflows/single-header.yml b/alpaka/.github/workflows/single-header.yml deleted file mode 100644 index 8e2c004f..00000000 --- a/alpaka/.github/workflows/single-header.yml +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 2023 Bernhard Manfred Gruber -# SPDX-License-Identifier: MPL-2.0 - -name: Publish amalgamated alpaka.hpp to single-header -on: - push: - branches: - - develop - -jobs: - single-header: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: clone single-header - run: | - git clone -b single-header --single-branch https://x-access-token:${{secrets.github_token}}@github.com/${{github.repository}}.git single-header - - name: create-single-header.sh - run: | - ./script/create-single-header.sh - - name: commit - run: | - set -x - cd single-header - if ! git diff --exit-code - then - git config --global user.email "action@github.com" - git config --global user.name "GitHub Action" - git add include/alpaka/alpaka.hpp - git commit -m "Update alpaka.hpp" - git push origin single-header - else - echo "No changes to commit" - fi diff --git a/alpaka/.gitignore b/alpaka/.gitignore deleted file mode 100644 index 6c946c89..00000000 --- a/alpaka/.gitignore +++ /dev/null @@ -1,62 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -/docs/doxygen/* -/docs/source/_build -/docs/cheatsheet/cheatsheet.pdf - -**/build* - -# tmp files -*~ - -# netbeans project files -/nbproject/ - -# Code::Blocks project files -/*.cbp -/*.layout - -# original backup files -*.orig - -# Vim project files -.vimrc -.exrc -tags - -# IDE & tmp build -.idea/ -cmake-build-*/ -.kdev?/ -*.kdev? -spack-build* -build/ - -# Eclipse project files -/.project -/.cproject -/.settings/ - -# Visual Studio Code project files -.vscode - -# Visual Studio project files -.vs/ -out - -# clangd files -.cache/ -compile_commands.json - -# python chache -__pycache__ - -# default name of the job_generator.py output -jobs.yml - -# pipenv files -Pipfile -Pipfile.lock - -# user specific cmake preset settings -CMakeUserPresets.json diff --git a/alpaka/.gitlab-ci.yml b/alpaka/.gitlab-ci.yml deleted file mode 100644 index 549f8ed9..00000000 --- a/alpaka/.gitlab-ci.yml +++ /dev/null @@ -1,66 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -# stage description -# generate -# creates the actual test jobs via python script -# run-tests -# execute the generated test jobs -# the ordering is mainly random -# the python generator can schedule some jobs on specific positions - -stages: - - generator - - run-test-jobs - - -variables: - # container version of the generated jobs - # should be merged with ALPAKA_GITLAB_CI_CONTAINER_VERSION - # see: script/job_generator/generate_job_yaml.py - ALPAKA_GITLAB_CI_GENERATOR_CONTAINER_VERSION: "3.1" - -generate: - stage: generator - # update alpine version to use newer python version - image: alpine:3.18 - script: - - apk update && apk add python3~=3.11 py3-pip - - pip3 install -r script/job_generator/requirements.txt - # it is sufficient to verify once, as the same job matrix is generated, verified and then filtered each time - - python3 script/job_generator/job_generator.py ${ALPAKA_GITLAB_CI_GENERATOR_CONTAINER_VERSION} --verify --wave compile_only_job -o compile_only.yml - - python3 script/job_generator/job_generator.py ${ALPAKA_GITLAB_CI_GENERATOR_CONTAINER_VERSION} --wave runtime_job_cpu -o runtime_cpu.yml - - python3 script/job_generator/job_generator.py ${ALPAKA_GITLAB_CI_GENERATOR_CONTAINER_VERSION} --wave runtime_job_gpu -o runtime_gpu.yml - - cat compile_only.yml - - cat runtime_cpu.yml - - cat runtime_gpu.yml - artifacts: - paths: - - compile_only.yml - - runtime_cpu.yml - - runtime_gpu.yml - expire_in: 1 week - interruptible: true - -run-compile-only-test: - stage: run-test-jobs - trigger: - include: - - artifact: compile_only.yml - job: generate - strategy: depend - -run-runtime-cpu-test: - stage: run-test-jobs - trigger: - include: - - artifact: runtime_cpu.yml - job: generate - strategy: depend - -run-runtime-gpu-test: - stage: run-test-jobs - trigger: - include: - - artifact: runtime_gpu.yml - job: generate - strategy: depend diff --git a/alpaka/.readthedocs.yml b/alpaka/.readthedocs.yml deleted file mode 100644 index ccfddf98..00000000 --- a/alpaka/.readthedocs.yml +++ /dev/null @@ -1,25 +0,0 @@ -# SPDX-License-Identifier: MPL-2.0 - -version: 2 - -# Note: PDF/epub/htmlzip output is not supported when using MkDocs -formats: - - htmlzip - - pdf - - epub - -build: - os: ubuntu-22.04 - tools: - python: "3.11" - -sphinx: - builder: html - configuration: docs/source/conf.py - fail_on_warning: false - -python: - install: - - requirements: docs/requirements.txt - -# see: https://docs.readthedocs.io/en/stable/config-file/v2.html#supported-settings diff --git a/alpaka/.zenodo.json b/alpaka/.zenodo.json deleted file mode 100644 index a2c1e618..00000000 --- a/alpaka/.zenodo.json +++ /dev/null @@ -1,225 +0,0 @@ -{ - "title": "alpaka: Abstraction Library for Parallel Kernel Acceleration", - "description": "The alpaka library is a header-only C++17 abstraction library for accelerator development. Its aim is to provide performance portability across accelerators through the abstraction (not hiding!) of the underlying levels of parallelism.", - "creators": [ - { - "name": "Bocci, Andrea", - "affiliation": "CERN", - "orcid": "0000-0002-6515-5666" - }, - { - "name": "Ehrig, Simeon", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "orcid": "0000-0002-8218-3116" - }, - { - "name": "Gruber, Bernhard Manfred", - "affiliation": "CASUS, Helmholtz-Zentrum Dresden-Rossendorf, CERN", - "orcid": "0000-0001-7848-1690" - }, - { - "name": "Martin-Haugh, Stewart", - "affiliation": "STFC Rutherford Appleton Laboratory", - "orcid": "0000-0001-9457-1928" - }, - { - "name": "Perego, Aurora", - "affiliation": "CERN", - "orcid": "0000-0003-1576-6757" - }, - { - "name": "Tascon, Andres Rios", - "affiliation": "Princeton University" - }, - { - "name": "Widera, René", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "orcid": "0000-0003-1642-0459" - } - ], - "contributors": [ - { - "name": "Bastrakov, Sergei", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "orcid": "0000-0003-3396-6154", - "type": "Other" - }, - { - "name": "Bastrakova, Kseniia", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "orcid": "0000-0001-8970-5098", - "type": "Other" - }, - { - "name": "Colgrove, Mat", - "affiliation": "NVIDIA", - "type": "Other" - }, - { - "name": "Di Pilato, Antonio", - "affiliation": "CASUS, Helmholtz-Zentrum Dresden-Rossendorf, CERN", - "orcid": "0000-0002-9233-3632", - "type": "Other" - }, - { - "name": "Ferragina, Luca", - "affiliation": "CERN", - "type": "Other" - }, - { - "name": "Gehrke, Valentin", - "affiliation": "TU Dresden", - "type": "Other" - }, - { - "name": "Hübl, Axel", - "affiliation": "Lawrence Berkeley National Laboratory", - "orcid": "0000-0003-1943-7141", - "type": "Other" - }, - { - "name": "Kaever, Christian", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "type": "Other" - }, - { - "name": "Kelling, Jeffrey", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "orcid": "0000-0003-1761-2591", - "type": "Other" - }, - { - "name": "Knespel, Maximilian", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "type": "Other" - }, - { - "name": "Krude, Jakob", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "type": "Other" - }, - { - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf, TU Dresden", - "name": "Matthes, Alexander", - "orcid": "0000-0002-6702-2015", - "type": "Other" - }, - { - "name": "Mewes, Hauke", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "type": "Other" - }, - { - "name": "Nash, Phil", - "affiliation": "JetBrains", - "type": "Other" - }, - { - "name": "Pantaleo, Felice", - "affiliation": "CERN", - "orcid": "0000-0003-3266-4357", - "type": "Other" - }, - { - "name": "Rogers, David M.", - "affiliation": "Oak Ridge National Laboratory", - "orcid": "0000-0002-5187-1768", - "type": "Other" - }, - { - "name": "Saito, Mutsuo", - "affiliation": "Hiroshima University", - "type": "Other" - }, - { - "name": "Schenke, Jonas", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "type": "Other" - }, - { - "name": "Stephan, Jan", - "affiliation": "CASUS, Helmholtz-Zentrum Dresden-Rossendorf", - "orcid": "0000-0001-7839-4386", - "type": "Other" - }, - { - "name": "Vollmer, Daniel", - "affiliation": "Deutsches Zentrum für Luft- und Raumfahrt e.V.", - "type": "Other" - }, - { - "name": "VyskoÄil, Jiří", - "affiliation": "CASUS, Helmholtz-Zentrum Dresden-Rossendorf", - "orcid": "0000-0001-8822-0929", - "type": "Other" - }, - { - "name": "Werner, Matthias", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "type": "Other" - }, - { - "name":"Wesarg, Bert", - "affiliation":"TU Dresden", - "type": "Other" - }, - { - "name": "Worpitz, Benjamin", - "affiliation": "LogMeIn Inc.", - "type": "Other" - }, - { - "name": "Young, Jeffrey", - "affiliation": "Georgia Institute of Technology", - "orcid": "0000-0001-9841-4057", - "type": "Other" - }, - { - "name": "Zacharias, Malte", - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "type": "Other" - }, - { - "affiliation": "Helmholtz-Zentrum Dresden-Rossendorf", - "name": "Zenker, Erik", - "orcid": "0000-0001-9417-8712", - "type": "Other" - } - ], - "access_right": "open", - "keywords": [ - "HPC", - "CUDA", - "OpenMP", - "C++", - "GPU", - "HIP", - "heterogeneous computing", - "performance portability" - ], - "license": "MPL-2.0", - "upload_type": "software", - "grants": [ - { - "id": "654220" - } - ], - "related_identifiers": [ - { - "identifier": "DOI:10.5281/zenodo.49768", - "relation": "isCitedBy" - }, - { - "identifier": "DOI:10.1007/978-3-319-46079-6_21", - "relation": "cites" - }, - { - "identifier": "DOI:10.1109/IPDPSW.2016.50", - "relation": "isCitedBy" - }, - { - "identifier": "DOI:10.1007/978-3-319-67630-2_36", - "relation": "isCitedBy" - } - ] -} diff --git a/alpaka/CHANGELOG.md b/alpaka/CHANGELOG.md deleted file mode 100644 index dab9f20e..00000000 --- a/alpaka/CHANGELOG.md +++ /dev/null @@ -1,918 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - -## [1.1.0] - 2024-01-18 - -### Added - -- Warp Shfl- Up, Down and Xor #1924 -- Add alpaka-ls #2175 #2218 -- Named access to Vec `.x()`, `.y()` #2201 -- Add CMake presets #2203 -- Add trait IsKernelArgumentTriviallyCopyable #2198 -- Add alpaka::getPreferredWarpSize(dev) #2216 -- `ROCm` - - ROCm 5.3 and later support asynchronous memory operations #2197 - - Support for ROCM 5.6 - 6.0 #2207 #2210 - - Use CMake's native HIP support #2215 -- `CUDA` - - Support for CUDA 12.3 #2211 - -### Changed - -- Trim device names #2193 -- Change all CUDA warp operations to synchronise all threads #2204 - -### Fixed - -- Fix a few warnings #2164 -- Workaround gcc warning on uninitialized PlatformCpu #2165 -- Fix icpx 2024.0 OpenMP atomics #2213 - -### Removed - -- Remove ALPAKA_ASSERT_OFFLOAD, introduce ALPAKA_ASSERT_ACC #2199 -- `ROCm` - - Remove support for HIP ROCm 5.0 #2214 - -## [1.0.0] - 2023-11-14 - -### Added - -- `g++`: - - Added support for `g++-13` #1967 - - Added support for `g++-12` #1721 #1754 #1765 #1867 -- `clang++`: - - Added support for `clang-17` #2171 #2174 - - Added support for `clang-16` #1971 #2006 - - Added support for `clang-15` #1898 - - Added support for `clang-14` #1766 - - Added support for `clang-13` #1756 -- `icpx`: - - Added support for the Intel® oneAPI DPC++/C++ Compiler (`icpx`) #1700 #1706 #1884 #2064 #2081 -- Xcode: - - Added support for Xcode 14.3.1 #1973 - - Added support for Xcode 14.2 #1899 -- CUDA: - - Added support for CUDA 12.2 #2043 - - Added support for CUDA 12.1 #1957 - - Added support for CUDA 11.{6,7,8} and 12.0 #1890 -- ROCm: - - Added support for ROCm 5.5 #1961 - - Added support for ROCm 5.4 #1915 - - Added support for ROCm 5.3 #1838 - - Added support for ROCm 5.2.3 #1812 -- `alpaka::math`: - - Added `alpaka::math::copysign` function #2050 - - Added `alpaka::math::log2` and `alpaka::math::log10` functions #2029 - - Added `alpaka::math::fma` functions #2015 - - Added hyperbolic functions #1828 #2030 - - Added `constants` namespace which contains constants such as Ï€, e, etc. #1710 -- `alpaka::Vec`: - - Added generator constructor #2085 - - Added `front` and `back` methods #2085 - - Added `elementwise_{min,max}` methods #1805 - - `Vec` now features a deduction guide for easier construction #1610 -- Documentation: - - Added example illustrating typical data-parallel patterns with alpaka #1712 - - Added documentation about the behaviour of `constexpr` functions in kernel code #1699 - - Added documentation about CUDA function attributes #1697 - - Added documentation about setting the C++ standard library for clang #1695 -- Test cases: - - Added test for `alpaka::ViewSubView` #2095 - - Added queue test which checks that a task is destroyed after execution #2047 - - Added test for `alpaka::getValidWorkDiv` with `Idx` type #1830 - - Added tests for `alpaka::subDivideGridElements` #1829 -- CI: - - Run test cases with `-Werror` #2163 - - Added UBSan CI job #2059 - - Added CI job to create amalgamated `alpaka.hpp` #1956 #1965 #1972 - - Made GitLab CI jobs interruptible #1904 - - Updated used Boost and CMake versions #1903 #1969 - - Added `agc-manager` support #1871 #1921 - - Added TSan CI job #1851 #2103 #2137 - - GitLab CI jobs are now automatically generated #1785 #1889 #1896 #1951 #1952 #2005 #2041 -- Upgraded to `clang-format-16` #2147 -- Added `alpaka::getPitchesInBytes` function which returns all pitches for a given view as an `alpaka::Vec` #2092 #2093 #2116 #2125 -- Added `alpaka::get{Extents,Offsets}` functions which return all extents/offsets for a given view as an `alpaka::Vec` #2080 -- Added `alpaka_DISABLE_VENDOR_RNG` CMake flag and its corresponding preprocessor macro `ALPAKA_DISABLE_VENDOR_RNG` to optionally disable vendor RNG libraries #2036 -- Added alpaka port of BabelStream #1846 #1934 -- Added utility functions `alpaka::core::{divCeil,intPow,nthRootFloor}` #1830 -- Added `operator==` for `alpaka::WorkDivMembers` #1829 -- Added `alpaka::is{Accelerator,Device,Platform,Queue}` variable templates #1818 -- Added accelerator tags which allow for accelerator-specific code paths without enabling the corresponding back-end #1804 #1814 -- Added experimental support for `std::mdspan` #1788 #2048 #2052 #2053 -- Added `alpaka::ViewConst` which wraps another view but prevents modifying accesses #1746 -- `alpaka::{memcpy,memset}` now support temporary destination views #1743 -- Host memory alignment can now be specified by using the `ALPAKA_DEFAULT_HOST_MEMORY_ALIGNMENT` macro #1686 -- Added `alpaka::allocMappedBuf` for allocating device-accessible pinned host memory #1685 #1782 #2162 - - Added related trait `alpaka::trait::hasMappedBufSupport` to query the host CPU for device-accessible pinned memory support #1782 - - Added related utility function `alpaka::allocMappedBufIfSupported` to allocate device-accessible pinned memory, if supported, and regular memory otherwise #1782 #2120 -- Relocatable device code can now be enabled using the `alpaka_RELOCATABLE_DEVICE_CODE` CMake option #1467 - -### Changed - -- API changes: - - **Breaking change**: `alpaka::get{Width,Height,Depth}` now always return `1` for unavailable dimensions instead of `static_assert`ing #2148 - - **Breaking change**: alpaka platforms have been renamed from `alpaka::Pltf*` to `alpaka::Platform*` #2024 #2032 - - **Breaking change**: alpaka platforms are now full objects instead of types #1988 #2051 #2165 - - `operator<<(std::ostream&, WorkDivMembers const&)` is now a `friend` of `alpaka::WorkDivMembers` instead of a method #1829 - - **Potentially breaking change**: Switched several view-related methods from `ALPAKA_FN_HOST_ACC` to `ALPAKA_FN_HOST` #1826 - - Accelerators' copy/move constructors and assignment operators are now explicitly `delete`d #1825 - - `alpaka::test::allocAsyncBufIfSupported` was moved into the general `namespace alpaka` #1782 - - Removed unnecessary attribute `ALPAKA_FN_HOST_ACC` from defaulted functions #1761 - - The `UniformCudaHip` types are now templated on traits-like `struct`s which encapsulate the CUDA or HIP API #1665 -- General behavioural changes: - - Improved handling of CMake generator expressions #2146 - - Improved detection of C++20 features #2138 - - Simplified internals of `alpaka_add_{executable,library}` #2072 #2082 - - **Breaking change**: Removed dummy atomics from memory fence implementations. Users now need to guarantee correctness themselves #2071 - - In debug mode MSVC will use the `/Od` optimization level #1977 - - In debug mode clang-based compilers will explicitly use the `-O0` optimization level #1977 - - In debug mode `g++` will use the `-Og` optimization level #1977 - - `-Werror` and its MSVC equivalent `/WX` are no longer enabled by default when `BUILD_TESTING` is set to `ON` #1977 - - A platform's internal `std::vector` containing the `alpaka::Device`s now reserves the necessary memory before initialization #1926 - - **Potentially breaking change**: `ALPAKA_FN_INLINE` now enforces inlining for platforms other than CUDA and HIP #1918 - - Replaced `alpaka::core::ConcurrentExecPool` with `alpaka::core::CallbackThread` in all queue implementations #1870 - - If no back-end is enabled, alpaka automatically selects the serial back-end for examples and test cases #1843 - - On Linux platforms, the free global memory is now determined by a call to `sysconf(_SC_AVPHYS_PAGES)` instead of querying `/proc/sysinfo` #1776 - - **Potentially breaking change**: Changed CMake's look-up of MSVC's runtime libraries (see [here](https://cmake.org/cmake/help/v3.22/policy/CMP0091.html) for an in-depth explanation) #1751 - - Unified `alpaka::{memcpy,memset}`'s internal `static_assert`s #1748 - - `alpaka::core::aligned{Alloc,Free}` now internally use aligned `new`/`delete` instead of OS-specific APIs #1689 -- CUDA/HIP back-end changes: - - `nvcc` now makes correct use of `--Werror` and more CUDA-related warnings #2135 - - Unified `ALPAKA_UNIFORM_CUDA_HIP_RT_CHECK` macros #2090 - - Made some internal constants `constexpr` #2063 - - The CUDA/HIP back-ends will now always use `std::size_t` for internal pitch calculations #2056 - - **Breaking change**: clang as CUDA compiler will only work in `Release` build mode #2027 - - **Potentially breaking change**: In debug mode `ǹvcc` will now use the `-G` flag which enables device-side debug symbols #1977 - - Starting from HIP 5.2.0, the HIP back-end includes `` instead of `` #1914 - - Starting from HIP 5.2.0, the HIP back-end makes use of `hip{Malloc,Free}Async` #1894 - - If clang is used as CUDA compiler together with CUDA 11.3 a warning will be printed #1890 - - Starting from HIP 5.4.0, the HIP back-end internally uses `hipLaunchHostFunc` instead of a work-around #1883 - - Adapted to API changes in CUDA 11.7's stream memory operations #1878 #1919 - - Shortened mangled CUDA kernel names #1795 - - CUDA runtime versions checks are now based upon `CUDART_VERSION` instead of `BOOST_LANG_CUDA` #1777 - - Because of a HIP performance regression the HIP back-end now uses the emulated `atomicAdd(float)` on the `Threads` hierarchy level #1771 - - Changed look-up of built-in and emulated atomic functions for the CUDA and HIP back-ends #1768 - - The HIP back-end now uses the built-in `atomicAdd(double)` #1767 - - CUDA/HIP queues now internally make use of callback threads #1719 #1735 #1976 #2011 -- SYCL back-end changes: - - Removed unnecessary `-fintelfpga` flag from CMake build system when compiling the SYCL back-end for Intel FPGAs #2179 - - **Breaking change**: Support for the `activemask` intrinsic is disabled for the SYCL back-end #2161 - - Updated `README_SYCL.md` #2140 - - **Breaking change**: Reworked CMake handling for SYCL targets #1970 #2066 - - **Breaking change**: The SYCL back-end now accepts SYCL USM pointers as kernel parameters #1845 #2042 - - **Breaking change**: The SYCL CPU selector was generalized to both Intel and non-Intel CPUs and therefore renamed #1845 - - **Breaking change**: The SYCL back-end replaced `sycl::stream` with `printf` for device side printing #1845 #2045 - - The SYCL back-end now features a kernel trait which allows to set the SYCL sub-group (= warp) size #1845 - - The SYCL back-end now supports RNG through the Intel oneAPI libraries #1845 - - The SYCL back-end is now based upon the SYCL 2020 specification #1845 #1981 -- RNG changes: - - **Breaking change**: Philox RNG is now counter-based and stateless #1792 - - Philox random engines are now trivially copyable #1778 -- Documentation: - - Improved documentation of `ALPAKA_FN_INLINE` #2091 - - Reduced example work sizes #2084 - - Improved documentation of `alpaka::QueueCpuOmp2Collective` #2025 - - Clarified kernel and kernel argument requirements #1944 - - Replaced license headers with SPDX license identifiers #1917 - - Collapsed compiler support matrix in `README.md` #1860 -- Refactorings: - - Refactored test classes #2156 #2158 - - Use nested namespace specifiers #2152 - - Removed unnecessary member initialization calls #2151 - - Avoid unnecessary indentions #2149 - - Renamed internal variables of `ViewSubViewTest.cpp` and `ViewPlainPtrTest.cpp` to prevent name shadowing #2144 - - Refactored the internals of `alpaka::{mapIdx,mapIdxPitchBytes}` #2136 - - Replaced Codeplay's STLTuple implementation with `std::tuple` #2106 - - Replaced `ALPAKA_DECAY_T` macro with `std::decay_t` #2104 - - Refactored `alpaka::internal::ViewAccessOps` #2094 - - **Breaking change**: Replaced `alpaka::createVecFromIndexedFn` family of functions with `alpaka::Vec`'s new generator constructor #2085 - - Refactored `alpaka::QueueCpuOmp2Collective` #2013 - - Refactored `alpaka::meta::ndLoop` #1999 - - Refactored `alpaka::TaskKernelCpuThreads` #1998 - - Refactored `alpaka::core::ConcurrentExecPool` and related classes #1852 #2000 - - Refactored `alpaka::subDivideGridElements` #1830 - - Refactored includes inside `alpaka/dev/cpu/SysInfo.hpp` #1776 -- Test changes: - - Catch2 is no longer built with fast math enabled when using `icpx` as compiler #2128 - - `-pedantic` is no longer added when compiling CUDA code #2096 - - Reduced noise from `helloWorld`, `helloWorldLambda` and `TestTemplate` #2076 - - Renamed `fenceTest` to `FenceTest` #2037 - - The `Any` intrinsic unit test now assumes a sub-group size of `4` #2017 - - The `NativeHandleTest` no longer assumes that a native handle is an `int` #2008 - - Test cases are now compiled with MSVC's two phase lookup enabled #1986 - - Kernel names in the test cases are now demangled #1983 - - CUDA/HIP/SYCL atomic tests are now restricted to explicitly supported types #1980 - - Test cases are no longer executed for zero-dimensional SYCL accelerators #1979 - - Tests are disabled by default when using alpaka via CMake's `add_subdirectory` #1912 -- CI changes: - - Removed unused sanitizer blacklists #2154 - - Simplified CI oneTBB installation #2145 - - The GitLab CI now features runtime tests built with `g++` and `clang++` #2131 #2141 - - Upgraded ASan CI job to `clang-16` #2057 - - Upgraded special CUDA jobs to newer versions #2055 - - Re-enabled `g++-9` + CUDA jobs #2040 - - Updated Read the Docs configuration to v2 #2010 - - For ROCm versions <= 5.3 certain warnings are ignored #1932 - - Split compile and runtime CI runners into separate GitLab pipelines #1908 - - Switched more CI runners to C++20 mode #1902 - - LLVM sanitizer libraries are explicitly installed #1900 - - Re-enabled CUDA + `gcc-10` jobs #1890 - - Moved all GitHub jobs from `ubuntu-latest` to `ubuntu-20.04` #1872 - - More jobs are only compiling the test cases but no longer execute them #1869 - - CUDA CI runners no longer manually install the GPU driver #1853 - - Change ROCm CI node #1844 - - Reworked Xcode OpenMP installation #1840 #1922 - - Upgraded to GitHub checkout action v3 #1832 - - Upgraded test infrastructure to Catch2 v3 #1749 #1815 #1861 #1911 - - Upgraded headercheck CI run to clang-13 and CUDA 11.2 #1803 - - Simplified CI clang installation #1763 - - Running CI workflows are now automatically cancelled when their corresponding PRs are updated #1717 - -### Deprecated - -- **Breaking change**: deprecated `alpaka::getPitchBytes[Vec]` functions in favour of new `alpaka::getPitchesInBytes` function #2092 #2116 -- **Breaking change**: deprecated `alpaka::get{Extent,Offset}[Vec]` functions in favour of new `alpaka::get{Extents,Offsets}` functions #2080 #2139 - -### Removed - -- `g++`: - - Dropped support for `g++-{7,8}` #1872 -- `clang++`: - - Removed work-around for very old clang versions #1916 - - Dropped support for clang as CUDA compiler for all versions before `clang-14` #1890 - - Dropped support for `clang-{6,7,8,9}` #1872 - - Dropped support for `clang-5` #1750 -- `icpc`: - - Dropped support for the Intel® C++ Compiler Classic (`icpc`) #1702 -- MSVC: - - Temporarily dropped support for MSVC + CUDA due to a nvcc bug #1958 - - Dropped support for MSVC 2019 #1887 -- Xcode: - - Dropped support for Xcode 12.4.0 #1759 -- CUDA: - - Dropped support for CUDA 10 #1872 - - Dropped support for CUDA 9.2 #1855 -- ROCm: - - Dropped support for ROCm 4 #1886 -- SYCL: - - Removed Xilinx platform support #1970 -- Removed floating point contractions for math test cases #2155 -- Removed `alpaka::set{Extent,Offset}` functions #2087 -- Removed alpaka's experimental accessors #2054 #2062 -- Catch2 is no longer compiled with `CATCH_CONFIG_FAST_COMPILE` set to `ON` #1978 -- Removed OpenMP 5 back-end #1947 -- Removed OpenACC back-end #1941 -- Removed warning for Boost 1.73 since alpaka requires Boost >= 1.74 #1849 -- Removed previously deprecated `alpaka::time` functionality #1841 -- Removed `alpaka::{map,unmap,pin,unpin,isPinned,prepareForAsyncCopy}()` free functions #1790 -- Removed unused `alpaka::ConceptUniformCudaHip` #1736 -- Removed Boost.fiber back-end #1718 - -### Fixed - -- Fixed warnings uncovered by `nvcc` + `clang++ -Werror` #2157 #2159 #2164 #2167 -- Removed useless semicolon #2129 -- Fixed debug information for SYCL zero-dimensional buffer allocations #2127 -- Fixed missing `[[maybe_unused]]` inside `extent/Traits.hpp` #2122 -- Fixed several minor issues with the documentation #2121 #2176 -- Fixed unsigned integer conversion inside `ViewAccessOps.hpp` #2119 -- Fixed several warnings issued by `nvcc` #2118 -- Fixed compiler explorer link #2117 -- `alpaka::core::detail::ThreadPool` now handles a task's `noexcept` specifier correctly #2115 -- Fixed missing `` include in `BlockSyncBarrierOmp.hpp` #2114 -- Fixed integer conversions inside `memViewTest` #2113 -- Fixed `alpaka::BufUniformCudaHipRt` declarations sometimes being a `struct` and sometimes a `class` #2109 -- Fixed `alpaka::wait()` behaviour for events and devices #2108 -- Fixed `alpaka::ViewPlainPtr` not being copyable and moveable #2105 -- **Potentially breaking change**: Fixed `alpaka::core::{CallbackThread,ThreadPool}` not propagatinc exceptions #2067 -- Fixed missing `ALPAKA_UNIFORM_CUDA_HIP_RT_CHECK` calls in debug mode #2034 -- Worked around Catch2 macros not being thread-safe #2022 -- Fixed `alpaka::test::KernelExecutionFixture`'s delegating constructor #2021 -- Fixed missing `` include in `alpaka/rand/Traits.hpp` #1977 -- Fixed ill-formed spelling of `alpaka::EventUniformCudaHipRt`'s constructor in C++20 mode #1968 -- Fixed typo in memory fence documentation #1944 -- Fixed compilation issues for CPU-only jobs running on GPU CI runners #1939 -- Fixed clang-specific warning suppression occurring for other compilers in HIP back-end #1914 -- Fixed CI clang installation #1907 -- Fixed CUDA async / mapped memory allocation bug #1868 -- Fixed several bugs related to thread safety #1850 #1975 #1987 #1989 #2026 #2057 -- Fixed `alpaka::createView` for containers without a size argument #1847 -- Fixed behaviour of `alpaka::detail::nextDivisorLowerOrEqual` #1829 -- Fixed missing `final` keyword for accelerator inheritance #1816 -- Fixed missing template parameters in `alpaka::allocBuf(host, extent)` #1777 -- Fixed look-up of `atomic*_block()` functions for the CUDA back-end when clang is the device compiler #1773 -- Fixed mixed-type and mixed-precision `alpaka::math::pow` implementation #1733 -- Fixed `alpaka::QueueGenericThreadsNonBlocking` not completing running tasks upon its destruction #1728 -- Fixed host memory allocation / pinning on OpenPOWER platforms #1725 -- Fixed `alpaka::ffs` CPU intrinsic in C++20 mode #1716 -- Fixed typo in cheatsheet example for `alpaka::getWorkDiv` #1711 -- Fixed missing braces around aggregate initializers #1704 -- Fixed CI installation of CUDA apt repository keys #1703 - -## [0.9.0] - 2022-04-21 -### Compatibility Changes: -- Platform support added: - - oneTBB #1456 - - clang 13 #1476 - - CUDA 11.5 #1486 - - Visual Studio 2022 #1583 - - CUDA 11.6 #1616 - - ROCm 5.0 #1631 - - Xcode 12.4 / 13.2.1 #1638 -- Platform support removed: - - CUDA 11.0 / 11.1 + MSVC #1331 - - clang 5 + CUDA #1466 - - Ubuntu 18.04 #1471 - - TBB versions before oneTBB #1456 - - clang 6 / 7 + CUDA #1506 - - Boost < 1.74 #1521 - - CUDA 11.3 - 11.5 + clang #1627 - - Xcode 11.3.1 #1638 - -### Bug Fixes: -- alpaka TBB kernels are now protected when called from within existing parallel TBB code #1450 -- The cheat sheet now reflects the 0.8 changes to alpaka's RNG features #1469 -- alpaka `Queue`s will now wait for active asynchronous operations before destructing #1514 -- The test cases no longer fail on non-x86 hardware because of `-Werror` #1516 -- Several small fixes for the OpenACC and OpenMP 5 back-ends #1564 -- Avoid locking in CPU atomic operations #1566 -- alpaka's `NormReal` RNG distribution is now copyable (like the other distributions) #1591 -- The class layout of `BufCpu` no longer depends on whether the CUDA and HIP back-ends are enabled. #1612 -- Fixed several smaller bugs in `alpaka::Vec` #1620 -- Destructors no longer throw an exception #1632 -- Implemented work-around for Intel compiler bug with OpenMP back-ends #1677 - -### New Features: -- alpaka now has native complex number support #1336 -- alpaka now requires C++17 (or newer). This release therefore includes many refactoring PRs that migrate the code base to C++17: - - Set CMake requirements, remove versions checks, fix warnings, etc. #1466 - - Removed pre-C++17 workarounds #1483 - - Replaced `alpaka::meta::apply` with `std::apply` #1493 - - Replaced a lot of macros and template metaprogramming sections with `if constexpr` blocks #1495 - - Replaced `alpaka::meta::Void` with `std::void_t` #1499 - - Replaced some of alpaka's metafunctions with their standard counterparts #1501 - - Make use of C++17 mandatory copy elision #1502 - - Simplified CPU kernel launches #1511 - - Make use of generic `std` container interfaces #1554 - - Replaced `std::enable_if` with `if constexpr` where possible #1556 - - Replaced `alpaka::ignore_unused` with C++17 `[[maybe_unused]]` and `std::ignore` #1563 - - Make use of nested namespaces #1587 #1592 - - Make use of variable template versions of `std` traits #1594 -- alpaka `Event`s can now be queried for their device type #1479 -- Some alpaka buffers can now be allocated asynchronously within a device queue (queue-ordered memory buffers) #1481 - - This capability can be queried with the `hasAsyncBufSupport` trait #1578 -- alpaka buffers can now be zero-dimensional (scalar) #1536 -- Apply `alpaka::memset` and `alpaka::memcpy` to the whole buffer if no extent is supplied by the user #1547 -- Added an accessor-like interface to buffers and views #1570 -- Host code utilizing the CUDA and HIP back-ends can now be compiled with a non-CUDA/HIP compiler if there is no device code in the translation unit #1567 -- Added `alpaka::getNativeHandle()` to obtain the back-end specific handles from alpaka `Device`s #1579 - - `alpaka::getNativeHandle()` can also be called on `Queue`s and `Event`s #1623 -- Added an experimental SYCL back-end. All SYCL back-end functionality currently lives in the `alpaka::experimental` namespace. See the `README_SYCL.md` for more information about the usage and the restrictions of this back-end. #1598 -- alpaka's memory fences can now also be applied to the grid level #1641 -- `alpaka::getWarpSize()` was renamed to `alpaka::getWarpSizes()` and will now return a `std::vector` of supported warp sizes #1644 -- Added previously missing atomic functions for some datatypes #1658 -- `ALPAKA_ASSERT` is now variadic #1661 -- Documentation updates: - - Improved installation and usage documentation #1571 - - Added documentation on how to write unit tests #1609 - - The HIP portion of the compiler support matrix has been simplified #1637 - - The OpenMP 5 documentation has been extended #1672 - -### Misc: -- The CUDA and HIP back-ends no longer explicitly set the device where this is unnecessary #1515 -- `clang-tidy`'s modernization suggestions have been applied to the code base #1584 -- alpaka's math headers have been squashed. For each back-end there is now only one header instead of one for each math function. #1585 -- Updated the Boost predefinition header to reflect the upgrade to Boost 1.74 #1586 -- Removed the `alpaka::extent` namespace (the contents now live in the main `alpaka` namespace) #1593 -- Refactored implementations of `BufCpu` and `BufUniformCudaHipRt` #1608 -- Removed unnecessary specializations of `GetPitchBytes` trait #1614 -- All alpaka-specific CMake variables follow the `${PROJECT_NAME}_VARIABLE_FOO_BAR` pattern. This means that all alpaka-specific CMake variables look like this: `alpaka_VARIABLE_FOO_BAR`. #1653 -- alpaka now enforces that kernel arguments are trivially copyable #1635 -- Renamed namespace `traits` to `trait` #1651 -- alpaka now enforces that kernel functions are trivially copyable #1654 -- Replaced the internal `hipLaunchKernelGGL()` call with a `kernel<<<...>>>()` call #1663 -- `BOOST_LANG_HIP` will now report a (somewhat) correct version number (for internal consumption) #1664 -- Refactored `Queue` implementation for CUDA and HIP to reduce code duplication #1667 -- `core/CudaHipMath.hpp` was merged back into `math/MathUniformCudaHipBuiltIn.hpp` #1668 -- The OpenMP 5 memory fence no longer explicitly sets the `acq_rel` memory order clause since it is the default #1673 -- Improved handling of `std::shared_ptr` inside the CUDA/HIP queues #1674 -- Internally replaced the deprecated `cudaStreamAddCallback` with `cudaLaunchHostFunc` #1675 -- Added CUDA- and HIP-specific aliases for `Event`s, `Platform`s and `Buffer`s #1678 - -### Breaking Changes -- C++14 is no longer supported (see above) -- alpaka now uses Boost.Atomic by default if the latter can be found by CMake. This can be turned off by passing `-DALPAKA_ACC_CPU_DISABLE_ATOMIC_REF=ON` during the CMake configuration phase. #1566 - - When compiling in C++20 mode, alpaka will use `std::atomic_ref` instead #1671 -- Removed the `alpaka::extent` namespace (the contents now live in the main `alpaka` namespace) #1593 -- Kernel arguments are required to be trivially copyable. This was always a requirement but is now enforced by alpaka #1635 -- All alpaka-specific CMake variables follow the `${PROJECT_NAME}_VARIABLE_FOO_BAR` pattern. This means that all alpaka-specific CMake variables look like this: `alpaka_VARIABLE_FOO_BAR`. #1653 -- `alpaka::getWarpSize()` was renamed to `alpaka::getWarpSizes()` and now returns a vector of supported warp sizes #1644 -- `alpaka::clock()` is now deprecated and will be removed in the next release. The compiler will warn about its usage. #1645 -- Renamed namespace `traits` to `trait` #1651 -- Removed support for `std::function` kernel functions #1654 -- Kernel functions are required to be trivially copyable. With the exception of `std::function` (see bullet point directly above) this was always a requirement but is now enforced by alpaka. #1654 - -### Test Cases / CI: -- Added clang 11, 12 + CUDA 11 tests to CI #1466 -- Removed Ubuntu 18.04 from CI #1471 -- Upgraded all Linux CI runners to Ubuntu 20.04 #1484 -- Test whether alpaka can be installed through `cmake --install` #1488 -- GitHub CI runners now use all available cores #1508 -- Migrated all CUDA runners from GitHub to GitLab #1520 -- Refactored `matMul` test #1526 -- macOS CI runners now install and test OpenMP 2.x #1533 -- Always enable the serial back-end when building the test cases and/or examples #1534 -- GitLab CI runners are executed in stages to reduce CI pressure #1537 -- Fixed the pitch calculation in `randomCells2D` example #1549 -- Updated test infrastructure to Catch2 v2.13.8 #1557 -- GitLab CI runners will display all required information to locally reproduce the test environment #1589 -- Refactored `alpaka::test` #1596 -- `matMul` test will now measure the performance of `alpaka::memcpy` #1599 -- The move constructors and assignment operators of buffers are now unit-tested #1611 -- Unit tests will now be run with zero dimensionality, too #1619 -- Added more tests for `alpaka::Vec` #1633 -- Added test for `alpaka::Vec` being trivially copyable #1639 -- CI runners will retry to download Boost when necessary #1640 -- Updated used CMake versions to their latest point releases #1638 #1649 - -## [0.8.0] - 2021-12-20 -### Compatibility Changes: -- Platform support added: - - clang 12 #1385 - - CUDA 11.4 #1380 - - GCC 11 #1383 - - HIP-clang #1338 - - Xcode 12.5.1 #1385 - - Xcode 13 #1421 -- Platform support removed: - - clang < 5.0 #1385 - - CUDA < 9.2 #1385 - - GCC < 7.0 #1385 - - HIP-nvcc #1337 - - Visual Studio < 2019 #1385 - - Ubuntu 16.04 #1352 - - Xcode 11.x < 11.3.1 #1385 - - Xcode 12.x < 12.4 #1385 - -### Bug Fixes: -- Added missing `#include ` in a few places which would lead to compilation errors for CPU back-ends #1327 -- Added missing `std::` to fixed-width integers where necessary #1327 -- Fixed behavior of `assert` and `printf` for OpenMP offloading targets #1351 -- `ALPAKA_STATIC_ACC_MEM_CONSTANT` now works correctly for clang-CUDA as well as HIP #1386 -- The OpenMP 5 and OpenACC back-ends now correctly pass the parameters as an `is_trivially_copyable` type #1387 -- Fixed `alpaka_compiler_option` checking for the wrong variable name #1392 -- Fixed a bug in the HIP back-end's peer-to-peer `memcpy` implementation #1400 -- The CMake function `alpaka_compiler_option` has been turned into a macro which solves parameter scope issues #1401 -- Fixed compilation error occuring with CUDA >= 11.3 #1404 -- The `-pthread` flag is now correctly passed to the (host) compiler and linker #1420 -- alpaka now correctly sets the CUDA host compiler #1423 -- alpaka's headers are now treated as CMake `SYSTEM` headers so that internal warnings no longer annoy users #1451 -- Projects using alpaka can now set `ALPAKA_CXX_STANDARD` as variable in their `CMakeLists.txt` without alpaka ignoring this #1463 - -### New Features: -- alpaka now supports the Philox random number generator #1319 -- alpaka's kernel language now supports memory fences (a.k.a thread fences) #1379 -- `alpaka::Vec` now supports structured bindings #1393 -- The OpenMP 5 and OpenACC back-ends now support statically mapped memory #1394 -- alpaka now has factory methods for creating memory views #1398 -- If OpenMP >= 5.1 is supported the back-end makes use of `atomic capture compare` #1411 -- alpaka now experimentally supports accessors instead of pointers to access memory #1433 -- Added wrapper for CUDA's native vector types so that they may be handled like arrays #1435 -- Added function for **exact** floating point comparisons #1440 -- Added portable implementations of random number distributions (default: `TinyMersenneTwister`) #1444 -- Added new math functions: `isnan`, `isinf`, `isfinite` #1446 -- New type trait that removes `__restrict__` from pointers #1474 - -### Misc: -- If TBB is enabled CMake is now able to pick up both oneAPI TBB and legacy TBB #1329 -- Eclipse project files are no longer tracked by git #1347 -- OpenACC atomics are now well-defined #1358 -- Headers in `alpaka/test` are now installable #1360 -- HIP no longer receives special treatment inside `alpaka_add_library` #1410 -- Removed unnecessary annotations on default constructors #1416 -- Removed unnecessary defaulted and deleted special member functions #1418 -- Removed unnecessary `explicit` specifiers #1419 -- Simplified implementation of `ALPAKA_UNROLL` #1437 -- Math traits have been (internally) simplified #1457 -- Visual Studio project files are no longer tracked by git #1464 -- The alpaka CMake project now enables the `CXX` language by default everywhere (previously some test cases would enable `C`) #1470 - -### Breaking Changes: -- Legacy TBB support is deprecated. alpaka will move to oneTBB in 0.9 #1329 -- HIP + nvcc is no longer supported #1337 -- The behavior of `ALPAKA_STATIC_ACC_MEM_CONSTANT` and `ALPAKA_STATIC_ACC_MEM_GLOBAL` was changed #1386 -- `alpaka::rand::engine::createDefault()` now features an additional `offset` parameter #1434 - -### Test cases / CI: -- NVHPC is now tested #1308 -- Disabled MSVC + CUDA 11.{0,1} runners due to a CUDA bug #1332 -- Some runtime tests are offloaded to HZDR's own CI #1375 -- `install_clang.sh` now installs the correct versions of `libc++` and `libc++abi` #1385 -- Fixed overflow in `AccDevPropsTest` #1395 -- Fixed a bug in the HIP peer-to-peer `memcpy` test #1399 -- Math tests no longer fail for clang-cuda #1406 -- CUDA/HIP test cases are in part tested by HZDR's own CI #1407, #1409 -- CI now uses `clang-format` 12.0.1 #1417, #1430 -- atomic tests now also test `float` and `double` #1431 -- all test executables have been renamed: `executable` is now called `executableTest` #1432 -- test infrastructure is now based on Catch2 v2.13.7 #1461 -- alpaka and all subprojects now only enable `CXX` by default #1473 -- Removed unnecessary disabling of MySQL #1524 -- Reflect HZDR GitLab CI node changes for HIP #1530 - - -## [0.7.0] - 2021-08-03 -### Compatibility Changes: -- Visual Studio 2017 is no longer supported #1251 -- 32bit Windows is no longer supported #1251 -- CUDA 11.3 is now supported #1295 -- clang < 9 is no longer supported as CUDA compiler #1300 -- clang 11 is now supported #1310 - -### Bug Fixes: -- fixed `ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLED` being checked without being defined #1259 - -### New Features: -- when no specialization is provided by the user alpaka's math functions will now fall back to ADL to find a candidate #1248 -- the HIP back-end now supports callbacks #1269 -- added warp::shfl functionality #1273 -- added `Front` and `Contains` type list meta functions #1306 - -### Misc: -- alpaka's CMake build system now uses CMake's first-class CUDA support #1146 -- updated documentation for clang-format usage #1222 -- increased the static shared memory size to 47 KiB #1247 -- fixed table markup in README.md #1256 -- added example showcasing how to specialize kernels for particular back-ends #1271 -- removed section comments #1275 -- updated cheatsheet (added warp info, fixed names) #1281 - -### Breaking Changes: -- alpaka now requires CMake 3.18 or newer #1146 -- the CUDA and HIP back-ends no longer enable fast-math by default #1285 -- the CMake options `ALPAKA_CUDA_FAST_MATH` and `ALPAKA_HIP_FAST_MATH` have been replaced by `ALPAKA_FAST_MATH` #1289 -- the CMake options `ALPAKA_CUDA_FTZ` and `ALPAKA_HIP_FTZ` have been replaced by `ALPAKA_FTZ` #1289 -- the CMake option `ALPAKA_CUDA_NVCC_SEPARABLE_COMPILATION` has been replaced by the native CMake property `CUDA_SEPARABLE_COMPILATION` #1289 -- the CMake option `ALPAKA_CUDA_NVCC_EXPT_EXTENDED_LAMBDA` has been replaced by `ALPAKA_CUDA_EXPT_EXTENDED_LAMBDA` #1289 - -### Test cases / CI: -- enabled OpenMP back-ends for more Visual Studio builds #1219 -- fixed gh-pages #1230 -- added ICPC / ICC 2021.x to CI #1235 -- fixed deadlock in Ubuntu 20.04 container #1270 -- now CI-testing CMake 3.20 #1283 - -## [0.6.1] - 2021-06-29 -### Compatibility Changes: -- rework implementation of OpenMP schedule support #1279 #1309 #1313 #1341 - - `alpaka::omp::Schedule` is replaced by `ompScheduleKind` and `ompScheduleChunkSize` -### Bug Fixes: -- fix OpenMP 5 shared memory allocation #1254 -- fix static shared memory alignment #1282 -- fix BlockSharedMemStMemberImpl::getVarPtr for last var #1280 -- fix CPU static shared memory implementation #1258 -- unit tests: fix queue test #1266 -- fix CtxBlockOacc: SyncBlockThreads #1291 -- fix assert in DeclareSharedVar (OpenAcc) #1303 -- CMake CUDA: dev compile options not propagated #1294 -- example: fix warning (NVCC+OpenMP) #1307 -- TBB: Add missing header and fix integer namespace #1327 -- OpenAcc: TaskKernelOacc: copyin(all used local vars) #1342 -- port macOSX CI fix from #1283 -- CI: use ubuntu-18.04 for gcc-5 and gcc-6 builds #1252 -- CI: disable GCC 10.3 + NVCC tests #1302 -- CI: MSVC + nvcc workarounds and fixes #1332 -- CI: fix warp test #1339 - -### Misc -- add ALPAKA_ASSERT_OFFLOAD Macro #1260 -- document return value of `empty()` and `isComplete()` #1265 -- Prefer TBBConfig.cmake over FindTBB.cmake #1329 - -## [0.6.0] - 2021-01-20 -### Compatibility Changes: -- support for CUDA 11, 11.1, and 11.2 #1076 #1086 #1147 #1231 -- remove support for CUDA 11.0 with MSVC 2019 #1227 -- support for CMake 3.18.0 and 3.19.0 #1087 #1217 -- set minimal HIP version to 3.5 #1110 -- remove CMake HIP module shipped with alpaka #1189 -- set HIP-clang as default compiler for HIP #1113 -- support for NVCC + VS 2019 #1121 -- support for boost-1.74.0 #1142 -- explicitly require backends and do not enable them by default #1111 -- remove support for Xcode 11.1 #1206 -- support Xcode 11.21 - 12.2.0 #1206 -- update to Catch 2.13.3 #1215 - -### Bug Fixes: -- apply some clang-tidy fixes #1044 -- fix CUDA/HIP accelerator concept usage #1064 -- fix Intel compiler detection #1070 -- CMake: build type CXX flag not passed to nvcc #1073 -- work around Intel ICE (Internal Compiler Error) when using std::decay on empty template parameter packs #1074 -- BoostPredef.hpp: Add redefinition of BOOST_COMP_PGI #1082 -- fix min/max return type deduction #1085 -- CMake: fix boost fiber linking #1088 -- fix HIP-clang compile #1107 -- fix CUDA/HIP cmake flags #1152 -- fix error handling CUDA/HIP #1108 -- ALPAKA_DECAY_T: Fix Intel detection, Add PGI #1116 -- fix how to set HIP target architecture #1112 -- fix and improve block shared mem st member sanity checks #1128 -- HIP: remove copy device2device workaround #1188 -- pass native pointers to kernel instead of buffer objects #1193 -- fix bug in `isPinned()` and `pin()` #1196 -- fix marking of unit tests for concepts #1226 - -### New Features: -- add functions `alpaka::atomicAnd` et. al. as shortcuts to `alpaka::atomicOp` et. al. #1005 -- warp voting functions #1003 #1049 #1090 #1092 -- Sphinx Doc: Fix Doxygen integration on readthedocs #1042 #1093 #1151 -- add cheat sheet to the docs #1057 #1177 -- extend AccDevProps with shared memory size per block #1084 -- OpenMP 5 target offload backend #1126 -- OpenACC backend #1127 -- option to set OpenMP schedule for the Omp2Blocks backend #1223 - -### Misc -- tests for BufferSlicing #1024 -- use std::invoke_result_t instead of std::result_of_t when available #1047 -- simplify shared memory usage in tests #1075 -- remove boost::aligned_alloc #1094 -- add unit tests for work div #1095 -- change examples (except reduce) to use getValidWorkDiv #1104 -- example monte-carlo-integration #1106 -- invoke docker run only once instead of twice #1109 -- cpu/SysInfo.hpp: Add #else for cpuid; Add PGI #1119 -- Pgi std atomic workaround #1120 -- make BlockSharedMemDynMember::staticAllocBytes a function #1118 -- add IntrinsicFallback: basic fallback implementations #1122 -- allow ALPAKA_CXX_STANDARD to propagate to nvcc with MSVC 1920 and above #1130 -- add set kernel #1132 -- make Queue test generic to handle QueueGenericThreads* with different devices #1133 -- IdxBtOmp: Add GetIdx specialization for 1d #1140 -- test CMAKE_CXX_EXTENSIONS=OFF #1153 -- change block memory size back to be stored as 32 bit #1187 -- add comments to math function traits that explain valid argument range #1190 -- provide docker_retry #1191 -- add .clang-format file #1204 -- add CI check whether code is correctly formatted #1213 -- make test/common a CMake INTERFACE library #1228 - -### Breaking changes: - -The namespace structure of *alpaka* is now flattened. -The [script](https://gist.github.com/sliwowitz/0a55e1bed6350f7fcae17ef0d430040d) can help you to apply the changes to your code. -The script only works if you used the full namespace `alpaka::*` for alpaka functions. - -- removed namespace `alpaka::dev` -- removed namespace `alpaka::pltf` -- renamed function `alpaka::vec::cast` to `alpaka::castVec` -- renamed function `alpaka::vec::reverse` to `alpaka::reverseVec` -- renamed function `alpaka::vec::concat` to `alpaka::concatVec` -- removed namespace `alpaka::vec` -- removed namespace `alpaka::workdiv` -- removed namespace `alpaka::acc` -- renamed functors `alpaka::atomic::op::And` et. al. to `alpaka::AtomicAnd` et. al. #1185 -- removed namespace `alpaka::atomic::op` -- removed namespace `alpaka::atomic` -- removed namespace `alpaka::queue` -- removed namespace `alpaka::idx` -- removed namespace `alpaka::dim` -- removed namespace `alpaka::kernel` -- removed namespace `alpaka::wait` -- removed namespace `alpaka::mem` -- removed namespace `alpaka::offset` -- removed namespace `alpaka::elem` -- removed namespace `alpaka::intrinsic` -- renamed function `alpaka::event::test` to `alpaka::isComplete` -- removed namespace `alpaka::event` -- removed namespace `alpaka::time` -- removed namespace `alpaka::example` -- renamed function `alpaka::alloc::alloc` to `alpaka::malloc` -- renamed function `alpaka::buf::alloc` to `alpaka::allocBuf` -- removed namespace `alpaka::alloc` -- removed namespace `alpaka::buf` -- renamed function `alpaka::view::set` to `alpaka::memset` -- renamed function `alpaka::view::copy` to `alpaka::memcpy` -- removed namespace `alpaka::view` -- removed namespace `alpaka::block::shared::st` -- removed namespace `alpaka::block::shared::dyn` -- removed namespace `alpaka::block::sync` -- renamed function `getMem` to `getDynSharedMem` #1197 -- renamed function `getVar` to `declareSharedVar` #1197 -- renamed function `freeMem` to `freeSharedVars` #1197 -- renamed functors `alpaka::block::op::LogicalAnd` et. al. to `alpaka::BlockAnd` et. al. -- removed namespace `alpaka::block::op` -- removed namespace `alpaka::block` - - -## [0.5.0] - 2020-06-26 -### Compatibility Changes: -- the minimum required C++ version has been raised from C++11 to C++14 #900 -- drop support for CUDA 8.0 (does not support c++14) -- drop support for gcc 4.9 (does not support c++14) -- drop support for CMake versions lower than 3.15 (3.11, 3.12, 3.13 and 3.14) -- raise minimum supported boost version from 1.62.0 to 1.65.1 #906 -- require HIP version to 3.3.0 #1006 -- drop HIP-hcc support #945 - -### Bug Fixes: -- fix CMake error #941 -- fix HIP math includes #947 -- fix: missing hipRand and rocRand library #948 -- fix VS 2017 CUDA builds #953 -- fix uninitialized pitch #963 -- fix windows CI builds #965 -- fix conversion warning in TinyMT #997 - -### New Features: -- add automated gh-pages deployment for branch develop #916 -- unify CUDA/HIP backend #928 #904 #950 #980 #981 -- add support for Visual Studio 2019 #949 -- simplify vector operator construction #977 -- example heat-equation #978 -- extend supported compiler combinations gcc-8+nvcc 10.1-10.2 #985 -- add support for CMake 3.17 #988 -- adds initial files for sphinx/rst and readthedocs. #990 #1017 #1048 -- add support for clang 10 #998 -- add popcount intrinsic #1004 -- emulate hip/cuda-Memcpy3D with a kernel #1014 -- simplify alpaka usage #1017 - - -## [0.4.0] - 2020-01-14 -### Compatibility Changes: -- added support for CUDA 10.0, 10.1 and 10.2 -- dropped support for CUDA 7.0 and 7.5 -- added official support for Visual Studio 2017 on Windows with CUDA 10 (built on Travis CI instead of appveyor now) -- added support for xcode10.2-11.3 (no official CUDA support yet) -- added support for Ubuntu 18.04 -- added support for gcc 9 -- added support for clang 7.0, 8.0 and 9.0 -- dropped support for clang 3.5, 3.6, 3.7, 3.8 and 3.9 -- added support for CMake 3.13, 3.14, 3.15 and 3.16 -- dropped support for CMake 3.11.3 and lower, 3.11.4 is the lowest supported version -- added support for Boost 1.69, 1.70 and 1.71 -- added support for usage of libc++ instead of libstdc++ for clang builds -- removed dependency to Boost.MPL and BOOST_CURRENT_FUNCTION -- replaced Boost.Test with Catch2 using an internal version of Catch2 by default but allowing to use an external one - -### Bug Fixes: -- fixed some incorrect host/device function attributes -- fixed warning about comparison unsigned < 0 -- There is no need to disable all other backends manually when using ALPAKA_ACC_GPU_CUDA_ONLY_MODE anymore -- fixed static block shared memory of types with alignemnt higher than defaultAlignment -- fixed race-condition in HIP/NVCC queue -- fixed data races when a GPU updates host memory by aligning host memory buffers always to 4kib - -### New Features: -- Added a new alpaka Logo! -- the whole alpaka code has been relicensed to MPL2 and the examples to ISC -- added ALPAKA_CXX_STANDARD CMake option which allows to select the C++ standard to be used -- added ALPAKA_CUDA_NVCC_SEPARABLE_COMPILATION option to enable separable compilation for nvcc -- added ALPAKA_CUDA_NVCC_EXPT_EXTENDED_LAMBDA and ALPAKA_CUDA_NVCC_EXPT_RELAXED_CONSTEXPR CMake options to enable/disable those nvcc options (they were always ON before) -- added headers for standalone usage without CMake (alpaka/standalone/GpuCudaRt.h, ...) which set the backend defines -- added experimental HIP back-end with using nvcc (HIP >= 1.5.1 required, latest rocRand). More on HIP setup: doc/markdown/user/implementation/mapping/HIP.md -- added sincos math function implementations -- allowed to copy and move construct ViewPlainPtr -- added support for CUDA atomics using "unsigned long int" -- added compile-time error for atomic CUDA ops which are not available due to sm restrictions -- added explicit errors for unsupported types/operations for CUDA atomics -- replaced usages of assert with ALPAKA_ASSERT -- replaced BOOST_VERIFY by ALPAKA_CHECK and returned success from all test kernels -- added alpaka::ignore_unused as replacement for boost::ignore_unused - -### Breaking changes: -- renamed Queue*Async to Queue*NonBlocking and Queue*Sync to Queue*Blocking -- renamed alpaka::size::Size to alpaka::idx::Idx, alpaka::size::SizeType to alpaka::idx::IdxType (and TSize to TIdx internally) -- replaced ALPAKA_FN_ACC_NO_CUDA by ALPAKA_FN_HOST -- replaced ALPAKA_FN_ACC_CUDA_ONLY by direct usage of __device__ -- renamed ALPAKA_STATIC_DEV_MEM_CONSTANT to ALPAKA_STATIC_ACC_MEM_CONSTANT and ALPAKA_STATIC_DEV_MEM_GLOBAL to ALPAKA_STATIC_ACC_MEM_GLOBAL -- renamed alpaka::kernel::createTaskExec to alpaka::kernel::createTaskKernel -- QueueCpuSync now correctly blocks when called from multiple threads - - This broke some previous use-cases (e.g. usage within existing OpenMP parallel regions) - - This use case can now be handled with the support for external CPU queues as can bee seen in the example QueueCpuOmp2CollectiveImpl -- previously it was possible to have kernels return values even though they were always ignored. Now kernels are checked to always return void -- renamed all files with *Stl suffix to *StdLib -- renamed BOOST_ARCH_CUDA_DEVICE to BOOST_ARCH_PTX -- executors have been renamed due to the upcoming standard C++ feature with a different meaning. All files within alpaka/exec/ have been moved to alpaka/kernel/ and the files and classes have been renamed from Exec* to TaskKernel*. This should not affect users of alpaka but will affect extensions. - -## [0.3.6] - 2020-01-06 -### Bug Fixes: -- fix cuda stream race condition #850 -- fix: cuda exceptions #844 -- math/abs: Added trait specialisation for double. #862 -- alpaka/math Overloaded float specialization #837 -- Fixes name conflicts in alpaka math functions. #784 - - -## [0.3.5] - 2018-11-18 -### New Features: -- used OpenMP atomics instead of critical sections - - -## [0.3.4] - 2018-10-17 -### Compatibility Changes: -- added support for boost-1.68.0 -- added support for CUDA 10 -- support for glibc < 2.18 (fix missing macros) -- added checks for available OpenMP versions - -### Bug Fixes: -- fixed empty(StreamCpuAsync) returning true even though the last task is still in progress -- fixed integer overflows in case of int16_t being used as accelerator index type -- made some throwing destructors not throwing to support clang 7 -- fixed broken alpaka::math::min for non-integral types - -### New Features: -- added prepareForAsyncCopy which can be called to enable async copies for a specific buffer (if it is supported) -- allowed to run alpaka OpenMP 2 block accelerated kernels within existing parallel region -- added alpaka::ignore_unused which can be used in kernels - - -## [0.3.3] - 2018-08-10 -### New Features: -- added CPU random number generators based on std::random_device and TinyMT32 -- made TinyMT32 the default random number generator -- added alpaka::ignore_unused - - -## [0.3.2] - 2018-10-17 -### New Features: -- Enhanced the compiler compatibility checks within the CMake scripts - -### Bugs Fixed: -- fixed missing error in case of wrong OpenMP thread count being used by the runtime that was not triggered when not in debug mode -- fixed CUDA driver API error handling -- fixed CUDA memcpy and memset for zero sized buffers (division by zero) -- fixed OpenMP 4 execution -- fixed the VS2017 CUDA build (not officially supported) -- fixed CUDA callback execution not waiting for the task to finish executing -- fixed cudaOnly test being part of make test when cuda only mode is not enabled - -### Compatibility Changes: -- added support for CUDA 9.2 - - -## [0.3.1] - 2018-06-11 -### New Features: -- CMake: added option to control tests BUILD_TESTING -- CMake: unified requirement of CMake 3.7.0+ -- CMake: used targets for Boost dependencies -- CMake: made alpaka a pure interface library - -### Bugs Fixed: -- fixed getDevCount documentation -- fixed undefined define warnings -- fixed self containing header check for CUDA - - -## [0.3.0] - 2018-03-15 -### Bugs Fixed: -- fixed multiple bugs where CPU streams/events could deadlock or behaved different than the native CUDA events -- fixed a bug where the block synchronization of the Boost.Fiber backend crashed due to uninitialized variables - -### New Features / Enhancements: -- added support for stream callbacks allowing to enqueue arbitrary host code using alpaka::stream::enqueue(stream, [&](){...}); -- added support for compiling for multiple architectures using e.g. ALPAKA_CUDA_ARCH="20;35" -- added support for using __host__ constexpr code within __device__ code -- enhanced the CUDA error handling -- enhanced the documentation for mapping CUDA to alpaka - -### Compatibility Changes: -- added support for CUDA 9.0 and 9.1 -- added support for CMake 3.9 and 3.10 -- removed support for CMake 3.6 and older -- added support for boost-1.65.0 -- removed support for boost-1.61.0 and older -- added support for gcc 7 -- added support for clang 4 and 5 -- removed support for VS2015 - - -## [0.2.0] - 2017-06-19 -### Compatibility fixes and small enhancements: -- the documentation has been greatly enhanced -- adds support for CUDA 8.0 -- adds support for CMake versions 3.6, 3.7 and 3.8 -- adds support for Boost 1.62, 1.63 and 1.64 -- adds support for clang-3.9 -- adds support for Visual Studio 2017 -- alpaka now compiles clean even with clang -Weverything -- re-enabled the boost::fiber accelerator backend which was disabled in the last release - -### API changes: -- mapIdx is moved from namespace alpaka::core to alpaka::idx -- Vec is moved from namespace alpaka to alpaka::vec -- vec::Vec is now allowed to be zero-dimensional (was previously forbidden) -- added vec::concat -- added element-wise operator< for vec::Vec which returns a vector of bool -- CPU accelerators now support arbitrary dimensionality (both kernel execution as well as memory operations) -- added support for syncBlockThreadsPredicate with block::sync::op::LogicalOr, block::sync::op::LogicalAnd and block::sync::op::Count -- memory allocations are now aligned optimally for the underlying architecture (16 bit for SSE, 32 bit for AVX, 64 bit for AVX512) instead of 16 bit for all architectures in the previous release diff --git a/alpaka/CMakeLists.txt b/alpaka/CMakeLists.txt deleted file mode 100644 index 860796f5..00000000 --- a/alpaka/CMakeLists.txt +++ /dev/null @@ -1,201 +0,0 @@ -# -# Copyright 2023 Benjamin Worpitz, Jan Stephan, Bernhard Manfred Gruber -# SPDX-License-Identifier: MPL-2.0 -# - -################################################################################ -# Required CMake version - -cmake_minimum_required(VERSION 3.22) - -cmake_policy(SET CMP0091 NEW) - -include(CMakePrintHelpers) - -#------------------------------------------------------------------------------- -# Find alpaka version. -file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/include/alpaka/version.hpp" alpaka_VERSION_MAJOR_HPP REGEX "#define ALPAKA_VERSION_MAJOR ") -file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/include/alpaka/version.hpp" alpaka_VERSION_MINOR_HPP REGEX "#define ALPAKA_VERSION_MINOR ") -file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/include/alpaka/version.hpp" alpaka_VERSION_PATCH_HPP REGEX "#define ALPAKA_VERSION_PATCH ") - -string(REGEX MATCH "([0-9]+)" alpaka_VERSION_MAJOR ${alpaka_VERSION_MAJOR_HPP}) -string(REGEX MATCH "([0-9]+)" alpaka_VERSION_MINOR ${alpaka_VERSION_MINOR_HPP}) -string(REGEX MATCH "([0-9]+)" alpaka_VERSION_PATCH ${alpaka_VERSION_PATCH_HPP}) - -set(PACKAGE_VERSION "${alpaka_VERSION_MAJOR}.${alpaka_VERSION_MINOR}.${alpaka_VERSION_PATCH}") - -project(alpaka VERSION ${alpaka_VERSION_MAJOR}.${alpaka_VERSION_MINOR}.${alpaka_VERSION_PATCH} - DESCRIPTION "The alpaka library is a header-only C++17 abstraction library for accelerator development." - HOMEPAGE_URL "https://github.com/alpaka-group/alpaka" - LANGUAGES CXX) - -set_property(GLOBAL PROPERTY USE_FOLDERS ON) - -################################################################################ -# Options and Variants - -option(alpaka_BUILD_EXAMPLES "Build the examples" OFF) - -# Enable the test infrastructure only if alpaka is the top-level project -if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) - option(alpaka_ENABLE_WERROR "Treat all warnings as errors." OFF) - option(BUILD_TESTING "Build the testing tree." OFF) - include(CTest) -endif() - -option(alpaka_INSTALL_TEST_HEADER "Install headers of the namespace alpaka::test. Attention, headers are not designed for production code, see documentation." OFF) - -include(CMakeDependentOption) -cmake_dependent_option(alpaka_CHECK_HEADERS "Check all alpaka headers as part of the tests whether they can be compiled standalone." OFF BUILD_TESTING OFF) -cmake_dependent_option(alpaka_USE_INTERNAL_CATCH2 "Use internally shipped Catch2" ON BUILD_TESTING OFF) - -################################################################################ -# Internal variables. - -# Set found to true initially and set it to false if a required dependency is missing. -set(_alpaka_FOUND TRUE) - -# This file's directory. -set(_alpaka_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}) -# Normalize the path (e.g. remove ../) -get_filename_component(_alpaka_ROOT_DIR ${_alpaka_ROOT_DIR} ABSOLUTE) - -# Compiler feature tests. -set(_alpaka_FEATURE_TESTS_DIR "${_alpaka_ROOT_DIR}/cmake/tests") - -# Add common functions. -set(_alpaka_COMMON_FILE "${_alpaka_ROOT_DIR}/cmake/common.cmake") -include(${_alpaka_COMMON_FILE}) - -# Add alpaka_ADD_EXECUTABLE function. -set(_alpaka_ADD_EXECUTABLE_FILE "${_alpaka_ROOT_DIR}/cmake/addExecutable.cmake") -include(${_alpaka_ADD_EXECUTABLE_FILE}) - -# Add alpaka_ADD_LIBRARY function. -set(_alpaka_ADD_LIBRARY_FILE "${_alpaka_ROOT_DIR}/cmake/addLibrary.cmake") -include(${_alpaka_ADD_LIBRARY_FILE}) - -# Set include directories -set(_alpaka_INCLUDE_DIRECTORY "${_alpaka_ROOT_DIR}/include") -set(_alpaka_SUFFIXED_INCLUDE_DIR "${_alpaka_INCLUDE_DIRECTORY}/alpaka") - -# the sequential accelerator is required for the tests and examples -if(alpaka_BUILD_EXAMPLES OR BUILD_TESTING) - if (NOT (alpaka_ACC_GPU_CUDA_ONLY_MODE OR alpaka_ACC_GPU_HIP_ONLY_MODE)) - if (NOT DEFINED alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE) - option(alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE "enable alpaka serial accelerator" ON) - elseif(NOT alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE) - set(alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE ON CACHE BOOL "enable alpaka serial accelerator" FORCE) - endif() - else() #CUDA or HIP-only mode - message(WARNING "CUDA/HIP-only mode enabled: not enabling alpaka serial accelerator (required for examples and tests)") - endif() -endif() -include(${_alpaka_ROOT_DIR}/cmake/alpakaCommon.cmake) - -# Add all the source and include files in all recursive subdirectories and group them accordingly. -append_recursive_files_add_to_src_group("${_alpaka_SUFFIXED_INCLUDE_DIR}" "${_alpaka_SUFFIXED_INCLUDE_DIR}" "hpp" _alpaka_FILES_HEADER) -append_recursive_files_add_to_src_group("${_alpaka_SUFFIXED_INCLUDE_DIR}" "${_alpaka_SUFFIXED_INCLUDE_DIR}" "h" _alpaka_FILES_HEADER) - -# remove headers of the folder alpaka/test, if alpaka_INSTALL_TEST_HEADER is disabled -if(NOT alpaka_INSTALL_TEST_HEADER) - list(FILTER _alpaka_FILES_HEADER EXCLUDE REGEX "(.*)/alpaka/test/(.*)") -endif() - -append_recursive_files_add_to_src_group("${_alpaka_ROOT_DIR}/script" "${_alpaka_ROOT_DIR}" "sh" _alpaka_FILES_SCRIPT) -set_source_files_properties(${_alpaka_FILES_SCRIPT} PROPERTIES HEADER_FILE_ONLY TRUE) - -append_recursive_files_add_to_src_group("${_alpaka_ROOT_DIR}/cmake" "${_alpaka_ROOT_DIR}" "cmake" _alpaka_FILES_CMAKE) -list(APPEND _alpaka_FILES_CMAKE "${_alpaka_ROOT_DIR}/cmake/alpakaConfig.cmake.in" "${_alpaka_ROOT_DIR}/CMakeLists.txt") -set_source_files_properties(${_alpaka_FILES_CMAKE} PROPERTIES HEADER_FILE_ONLY TRUE) - -append_recursive_files_add_to_src_group("${_alpaka_ROOT_DIR}/docs/markdown" "${_alpaka_ROOT_DIR}" "md" _alpaka_FILES_DOC) -set_source_files_properties(${_alpaka_FILES_DOC} PROPERTIES HEADER_FILE_ONLY TRUE) - -append_recursive_files_add_to_src_group("${_alpaka_ROOT_DIR}/.github" "${_alpaka_ROOT_DIR}" "yml" _alpaka_FILES_OTHER) -list(APPEND _alpaka_FILES_OTHER "${_alpaka_ROOT_DIR}/.clang-format" "${_alpaka_ROOT_DIR}/.gitignore" "${_alpaka_ROOT_DIR}/.zenodo.json" "${_alpaka_ROOT_DIR}/LICENSE" "${_alpaka_ROOT_DIR}/README.md") -set_source_files_properties(${_alpaka_FILES_OTHER} PROPERTIES HEADER_FILE_ONLY TRUE) - -if(TARGET alpaka) - # HACK: Workaround for the limitation that files added to INTERFACE targets (target_sources) can not be marked as PUBLIC or PRIVATE but only as INTERFACE. - # Therefore those files will be added to projects "linking" to the INTERFACE library, but are not added to the project itself within an IDE. - add_custom_target("alpakaIde" - SOURCES ${_alpaka_FILES_HEADER} ${_alpaka_FILES_SCRIPT} ${_alpaka_FILES_CMAKE} ${_alpaka_FILES_DOC} ${_alpaka_FILES_OTHER}) -endif() - -################################################################################ -# Export NVCC/HIPCC flags to parent scope if alpaka is used as a CMake -# subdirectory. -# -# These flags are set in cmake/alpakaCommon.cmake but are visible in this scope -# since alpakaCommon.cmake is included. - -if(NOT CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) - if(alpaka_ACC_GPU_HIP_ENABLE) - # export HIPCC flags to parent scope in case alpaka is another project's subdirectory - set(HIP_HIPCC_FLAGS ${HIP_HIPCC_FLAGS} PARENT_SCOPE) - set(HIP_NVCC_FLAGS ${HIP_NVCC_FLAGS} PARENT_SCOPE) - set(HIP_VERBOSE_BUILD ${HIP_VERBOSE_BUILD} PARENT_SCOPE) - endif() -endif() - -################################################################################ -# Add subdirectories - -add_subdirectory(thirdParty) - -if(alpaka_BUILD_EXAMPLES) - add_subdirectory("example/") -endif() - -# Only build the tests if alpaka is the top-level project and BUILD_TESTING is ON -if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND BUILD_TESTING) - add_subdirectory("test/") -endif() - -################################################################################ -# Installation. - -# Do not install if alpaka is used as a CMake subdirectory -if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) - include(CMakePackageConfigHelpers) - include(GNUInstallDirs) - - set(_alpaka_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/alpaka") - - install(TARGETS alpaka - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - write_basic_package_version_file( - "alpakaConfigVersion.cmake" - VERSION ${PROJECT_VERSION} - COMPATIBILITY SameMajorVersion) - - configure_package_config_file( - "${_alpaka_ROOT_DIR}/cmake/alpakaConfig.cmake.in" - "${PROJECT_BINARY_DIR}/alpakaConfig.cmake" - INSTALL_DESTINATION "${_alpaka_INSTALL_CMAKEDIR}") - - install(FILES "${PROJECT_BINARY_DIR}/alpakaConfig.cmake" - "${PROJECT_BINARY_DIR}/alpakaConfigVersion.cmake" - DESTINATION "${_alpaka_INSTALL_CMAKEDIR}") - - if(alpaka_INSTALL_TEST_HEADER) - install(DIRECTORY "${_alpaka_SUFFIXED_INCLUDE_DIR}" - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") - else() - install(DIRECTORY "${_alpaka_SUFFIXED_INCLUDE_DIR}" - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" - PATTERN "test" EXCLUDE) - endif() - - install(FILES "${_alpaka_ROOT_DIR}/cmake/addExecutable.cmake" - "${_alpaka_ROOT_DIR}/cmake/addLibrary.cmake" - "${_alpaka_ROOT_DIR}/cmake/alpakaCommon.cmake" - "${_alpaka_ROOT_DIR}/cmake/common.cmake" - DESTINATION "${_alpaka_INSTALL_CMAKEDIR}") - install(DIRECTORY "${_alpaka_ROOT_DIR}/cmake/tests" - DESTINATION "${_alpaka_INSTALL_CMAKEDIR}") -endif() diff --git a/alpaka/CMakePresets.json b/alpaka/CMakePresets.json deleted file mode 100644 index 93d50823..00000000 --- a/alpaka/CMakePresets.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "version": 3, - "cmakeMinimumRequired": { - "major": 3, - "minor": 22, - "patch": 0 - }, - "configurePresets": [ - { - "name": "develop", - "description": "enable tests and examples", - "hidden": true, - "binaryDir": "${sourceDir}/build/${presetName}", - "cacheVariables": { - "alpaka_BUILD_EXAMPLES": "ON", - "BUILD_TESTING": "ON" - } - }, - { - "name": "cpu-serial", - "description": "enable serial back-end", - "inherits": "develop", - "cacheVariables": { - "alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE": "ON" - } - }, - { - "name": "cpu-omp2b", - "description": "enable OpenMP 2 Grid Block back-end", - "inherits": "develop", - "cacheVariables": { - "alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE": "ON" - } - }, - { - "name": "cpu-omp2t", - "description": "enable OpenMP 2 Block Thread back-end", - "inherits": "develop", - "cacheVariables": { - "alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE": "ON" - } - }, - { - "name": "cpu-stdthreads", - "description": "enable std::thread back-end", - "inherits": "develop", - "cacheVariables": { - "alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE": "ON" - } - }, - { - "name": "cpu-tbb", - "description": "enable Intel TBB back-end", - "inherits": "develop", - "cacheVariables": { - "alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE": "ON" - } - }, - { - "name": "cpu-all", - "description": "enable all cpu back-ends (serial, OpenMP 2 Grid Block and Block Thread, std::thread and Intel TBB back-end", - "inherits": "develop", - "cacheVariables": { - "alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE": "ON", - "alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE": "ON", - "alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE": "ON", - "alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE": "ON", - "alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE": "ON" - } - }, - { - "name": "gpu-hip", - "description": "use HIP back-end on AMD GPUs", - "inherits": "develop", - "cacheVariables": { - "alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE": "ON", - "alpaka_ACC_GPU_HIP_ENABLE": "ON" - } - }, - { - "name": "gpu-sycl-intel", - "description": "use Sycl back-end on Intel GPUs", - "inherits": "develop", - "cacheVariables": { - "CMAKE_CXX_COMPILER": "icpx", - "alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE": "ON", - "alpaka_ACC_SYCL_ENABLE": "ON", - "alpaka_SYCL_ONEAPI_GPU": "ON", - "alpaka_SYCL_ONEAPI_GPU_DEVICES": "spir64" - } - }, - { - "name": "gpu-cuda-nvcc", - "description": "use cuda back-end on Nvidia GPUs with nvcc device compiler", - "inherits": "develop", - "cacheVariables": { - "alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE": "ON", - "alpaka_ACC_GPU_CUDA_ENABLE": "ON" - } - }, - { - "name": "gpu-cuda-clang", - "description": "use cuda back-end on Nvidia GPUs with clang++ device compiler", - "inherits": "develop", - "cacheVariables": { - "CMAKE_CXX_COMPILER": "clang++", - "CMAKE_CUDA_COMPILER": "clang++", - "alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE": "ON", - "alpaka_ACC_GPU_CUDA_ENABLE": "ON" - } - } - ], - "buildPresets": [ - { - "name": "cpu-serial", - "configurePreset": "cpu-serial" - }, - { - "name": "cpu-omp2b", - "configurePreset": "cpu-omp2b" - }, - { - "name": "cpu-omp2t", - "configurePreset": "cpu-omp2t" - }, - { - "name": "cpu-stdthreads", - "configurePreset": "cpu-stdthreads" - }, - { - "name": "cpu-tbb", - "configurePreset": "cpu-tbb" - }, - { - "name": "cpu-all", - "configurePreset": "cpu-all" - }, - { - "name": "gpu-hip", - "configurePreset": "gpu-hip" - }, - { - "name": "gpu-sycl-intel", - "configurePreset": "gpu-sycl-intel" - }, - { - "name": "gpu-cuda-nvcc", - "configurePreset": "gpu-cuda-nvcc" - }, - { - "name": "gpu-cuda-clang", - "configurePreset": "gpu-cuda-clang" - } - ], - "testPresets": [ - { - "name": "cpu-serial", - "configurePreset": "cpu-serial" - }, - { - "name": "cpu-omp2b", - "configurePreset": "cpu-omp2b" - }, - { - "name": "cpu-omp2t", - "configurePreset": "cpu-omp2t" - }, - { - "name": "cpu-stdthreads", - "configurePreset": "cpu-stdthreads" - }, - { - "name": "cpu-tbb", - "configurePreset": "cpu-tbb" - }, - { - "name": "cpu-all", - "configurePreset": "cpu-all" - }, - { - "name": "gpu-hip", - "configurePreset": "gpu-hip" - }, - { - "name": "gpu-sycl-intel", - "configurePreset": "gpu-sycl-intel" - }, - { - "name": "gpu-cuda-nvcc", - "configurePreset": "gpu-cuda-nvcc" - }, - { - "name": "gpu-cuda-clang", - "configurePreset": "gpu-cuda-clang" - } - ] -} diff --git a/alpaka/CONTRIBUTING.md b/alpaka/CONTRIBUTING.md deleted file mode 100644 index bae65b41..00000000 --- a/alpaka/CONTRIBUTING.md +++ /dev/null @@ -1,20 +0,0 @@ -# Contributing - -## Formatting - -Please format your code before before opening pull requests using clang-format 16 and the .clang-format file placed in the repository root. - -### Visual Studio and CLion -Suport for clang-format is built-in since Visual Studio 2017 15.7 and CLion 2019.1. -The .clang-format file in the repository will be automatically detected and formatting is done as you type, or triggered when pressing the format hotkey. - -### Bash -First install clang-format-16. Instructions therefore can be found on the web. -To format your changes since branching off develop, you can run this command in bash: -``` -git clang-format-16 develop -``` -To format all code in your working copy, you can run this command in bash: -``` -find -iname '*.cpp' -o -iname '*.hpp' | xargs clang-format-16 -i -``` diff --git a/alpaka/LICENSE b/alpaka/LICENSE deleted file mode 100644 index a612ad98..00000000 --- a/alpaka/LICENSE +++ /dev/null @@ -1,373 +0,0 @@ -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/alpaka/README.md b/alpaka/README.md deleted file mode 100644 index 945e6fba..00000000 --- a/alpaka/README.md +++ /dev/null @@ -1,260 +0,0 @@ -**alpaka** - Abstraction Library for Parallel Kernel Acceleration -================================================================= - - -[![Continuous Integration](https://github.com/alpaka-group/alpaka/workflows/Continuous%20Integration/badge.svg)](https://github.com/alpaka-group/alpaka/actions?query=workflow%3A%22Continuous+Integration%22) -[![Documentation Status](https://readthedocs.org/projects/alpaka/badge/?version=latest)](https://alpaka.readthedocs.io) -[![Doxygen](https://img.shields.io/badge/API-Doxygen-blue.svg)](https://alpaka-group.github.io/alpaka) -[![Language](https://img.shields.io/badge/language-C%2B%2B17-orange.svg)](https://isocpp.org/) -[![Platforms](https://img.shields.io/badge/platform-linux%20%7C%20windows%20%7C%20mac-lightgrey.svg)](https://github.com/alpaka-group/alpaka) -[![License](https://img.shields.io/badge/license-MPL--2.0-blue.svg)](https://www.mozilla.org/en-US/MPL/2.0/) - -![alpaka](docs/logo/alpaka_401x135.png) - -The **alpaka** library is a header-only C++17 abstraction library for accelerator development. - -Its aim is to provide performance portability across accelerators through the abstraction (not hiding!) of the underlying levels of parallelism. - -It is platform independent and supports the concurrent and cooperative use of multiple devices such as the hosts CPU as well as attached accelerators as for instance CUDA GPUs and Xeon Phis (currently native execution only). -A multitude of accelerator back-end variants using CUDA, OpenMP (2.0/5.0), std::thread and also serial execution is provided and can be selected depending on the device. -Only one implementation of the user kernel is required by representing them as function objects with a special interface. -There is no need to write special CUDA, OpenMP or custom threading code. -Accelerator back-ends can be mixed within a device queue. -The decision which accelerator back-end executes which kernel can be made at runtime. - -The abstraction used is very similar to the CUDA grid-blocks-threads division strategy. -Algorithms that should be parallelized have to be divided into a multi-dimensional grid consisting of small uniform work items. -These functions are called kernels and are executed in parallel threads. -The threads in the grid are organized in blocks. -All threads in a block are executed in parallel and can interact via fast shared memory. -Blocks are executed independently and can not interact in any way. -The block execution order is unspecified and depends on the accelerator in use. -By using this abstraction the execution can be optimally adapted to the available hardware. - - -Software License ----------------- - -**alpaka** is licensed under **MPL-2.0**. - - -Documentation -------------- - -The alpaka documentation can be found in the [online manual](https://alpaka.readthedocs.io). -The documentation files in [`.rst` (reStructuredText)](https://www.sphinx-doc.org/en/stable/rest.html) format are located in the `docs` subfolder of this repository. -The [source code documentation](https://alpaka-group.github.io/alpaka/) is generated with [doxygen](http://www.doxygen.org). - - -Accelerator Back-ends ---------------------- - -| Accelerator Back-end | Lib/API | Devices | Execution strategy grid-blocks | Execution strategy block-threads | -|------------------------|---------------------------------------------------------|------------------------|------------------------------------|--------------------------------------| -| Serial | n/a | Host CPU (single core) | sequential | sequential (only 1 thread per block) | -| OpenMP 2.0+ blocks | OpenMP 2.0+ | Host CPU (multi core) | parallel (preemptive multitasking) | sequential (only 1 thread per block) | -| OpenMP 2.0+ threads | OpenMP 2.0+ | Host CPU (multi core) | sequential | parallel (preemptive multitasking) | -| std::thread | std::thread | Host CPU (multi core) | sequential | parallel (preemptive multitasking) | -| TBB | TBB 2.2+ | Host CPU (multi core) | parallel (preemptive multitasking) | sequential (only 1 thread per block) | -| CUDA | CUDA 9.0+ | NVIDIA GPUs | parallel (undefined) | parallel (lock-step within warps) | -| HIP(clang) | [HIP 5.1+](https://github.com/ROCm-Developer-Tools/HIP) | AMD GPUs | parallel (undefined) | parallel (lock-step within warps) | - - -Supported Compilers -------------------- - -This library uses C++17 (or newer when available). - -| Accelerator Back-end | gcc 9.5
(Linux) | gcc 10.4 / 11.1
(Linux) | gcc 12.3
(Linux) | gcc 13.1
(Linux) | clang 9
(Linux) | clang 10 / 11
(Linux) | clang 12
(Linux) | clang 13
(Linux) | clang 14
(Linux) | clang 15
(Linux) | clang 16
(Linux) | clang 17
(Linux) | icpx 2023.1.0 / 2023.2.0 (Linux) | Xcode 13.2.1 / 14.2 / 14.3.1
(macOS) | Visual Studio 2022
(Windows) | -|--------------------------------------------------------------------------------|-------------------------------------------------|-------------------------------------------------|---------------------------------------------|------------------------|------------------------------------------------------------|-------------------------------------------------------|-------------------------------------------------|---------------------------------------------|---------------------------------------------------|-------------------------------------------|-------------------------------------------|-------------------------------------------|----------------------------------|-------------------------------------------------------|--------------------------------------| -| Serial | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| OpenMP 2.0+ blocks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark:[^3] | :white_check_mark: | :white_check_mark: | -| OpenMP 2.0+ threads | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark:[^3] | :white_check_mark: | :white_check_mark: | -| std::thread | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| TBB | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| CUDA (nvcc) | :white_check_mark:
(CUDA 11.0 - 12.3)[^2] | :white_check_mark:
(CUDA 11.4 - 12.0)[^2] | :white_check_mark:
(CUDA 12.0 - 12.3) | :x: | :white_check_mark:
(CUDA 11.0-11.2; 11.6 - 12.0)[^2] | :white_check_mark:
(CUDA 11.2, 11.6 - 12.0)[^2] | :white_check_mark:
(CUDA 11.6 - 12.0)[^2] | :white_check_mark:
(CUDA 11.7 - 12.0) | :white_check_mark:
(CUDA 11.8 - 12.0) | :white_check_mark:
(CUDA 12.2) | :white_check_mark:
(CUDA 12.3) | :x: | :x: | :x: | :x: | -| CUDA (clang) | - | - | - | :x: | :x: | :x: | :x: | :x: | :white_check_mark: (CUDA 11.0 - 11.5) | :white_check_mark: (CUDA 11.0 - 11.5)[^1] | :white_check_mark: (CUDA 11.0 - 11.5)[^1] | :white_check_mark: (CUDA 11.0 - 11.8)[^1] | :x: | - | - | -| [HIP](https://alpaka.readthedocs.io/en/latest/install/HIP.html) (clang) | - | - | - | :x: | :x: | :x: | :x: | :x: | :white_check_mark: (HIP 5.1 - 5.2) | :white_check_mark: (HIP 5.3 - 5.4) | :white_check_mark: (HIP 5.5 - 5.6) | :white_check_mark: (HIP 5.7 - 6.0) | :x: | - | - | -| SYCL | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :white_check_mark:[^4] | :x: | :x: | - -Other compilers or combinations marked with :x: in the table above may work but are not tested in CI and are therefore not explicitly supported. - -[^1]: Due to an [LLVM bug](https://github.com/llvm/llvm-project/issues/58491) in debug mode only release builds are supported. -[^2]: Due to a [CUDA bug](https://github.com/alpaka-group/alpaka/issues/2035) debug builds are only supported for CUDA versions >= 11.7. -[^3]: Due to an [`icpx` bug](https://github.com/intel/llvm/issues/10711) the OpenMP back-ends cannot be used together with the SYCL back-end. -[^4]: Currently, the unit tests are compiled but not executed. - -Dependencies ------------- - -[Boost](https://boost.org/) 1.74.0+ is the only mandatory external dependency. -The **alpaka** library itself just requires header-only libraries. -However some of the accelerator back-end implementations require different boost libraries to be built. - -When an accelerator back-end using *CUDA* is enabled, version *11.0* (with nvcc as CUDA compiler) or version *9.2* (with clang as CUDA compiler) of the *CUDA SDK* is the minimum requirement. -*NOTE*: When using clang as a native *CUDA* compiler, the *CUDA accelerator back-end* can not be enabled together with any *OpenMP accelerator back-end* because this combination is currently unsupported. -*NOTE*: Separable compilation is disabled by default and can be enabled via the CMake flag `CMAKE_CUDA_SEPARABLE_COMPILATION`. - -When an accelerator back-end using *OpenMP* is enabled, the compiler and the platform have to support the corresponding minimum *OpenMP* version. - -When an accelerator back-end using *TBB* is enabled, the compiler and the platform have to support the corresponding minimum *TBB* version. - - -Usage ------ - -The library is header only so nothing has to be built. -CMake 3.22+ is required to provide the correct defines and include paths. -Just call `alpaka_add_executable` instead of `add_executable` and the difficulties of the CUDA nvcc compiler in handling `.cu` and `.cpp` files are automatically taken care of. -Source files do not need any special file ending. -Examples of how to utilize alpaka within CMake can be found in the `example` folder. - -The whole alpaka library can be included with: `#include ` -Code that is not intended to be utilized by the user is hidden in the `detail` namespace. - -Furthermore, for a CUDA-like experience when adopting alpaka we provide the library [*cupla*](https://github.com/alpaka-group/cupla). -It enables a simple and straightforward way of porting existing CUDA applications to alpaka and thus to a variety of accelerators. - -### Single header - -The CI creates a single-header version of alpaka on each commit, -which you can find on the [single-header branch](https://github.com/alpaka-group/alpaka/tree/single-header). - -This is especially useful, if you would like to play with alpaka on [Compiler explorer](https://godbolt.org/z/hzPnhnna9). -Just include alpaka like -```c++ -#include -``` -and enable the desired backend on the compiler's command line using the corresponding macro, e.g. via `-DALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLED`. - -Introduction ------------- - -For a quick introduction, feel free to playback the recording of our presentation at -[GTC 2016](https://www.nvidia.com/gtc/): - - - E. Zenker, R. Widera, G. Juckeland et al., - *Porting the Plasma Simulation PIConGPU to Heterogeneous Architectures with Alpaka*, - [video link (39 min)](http://on-demand.gputechconf.com/gtc/2016/video/S6298.html), - [slides (PDF)](https://on-demand.gputechconf.com/gtc/2016/presentation/s6298-erik-zenker-porting-the-plasma.pdf), - [DOI:10.5281/zenodo.6336086](https://doi.org/10.5281/zenodo.6336086) - - -Citing alpaka -------------- - -Currently all authors of **alpaka** are scientists or connected with -research. For us to justify the importance and impact of our work, please -consider citing us accordingly in your derived work and publications: - -```latex -% Peer-Reviewed Publication %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Peer reviewed and accepted publication in -% "2nd International Workshop on Performance Portable -% Programming Models for Accelerators (P^3MA)" -% colocated with the -% "2017 ISC High Performance Conference" -% in Frankfurt, Germany -@inproceedings{MathesP3MA2017, - author = {{Matthes}, A. and {Widera}, R. and {Zenker}, E. and {Worpitz}, B. and - {Huebl}, A. and {Bussmann}, M.}, - title = {Tuning and optimization for a variety of many-core architectures without changing a single line of implementation code - using the Alpaka library}, - archivePrefix = "arXiv", - eprint = {1706.10086}, - keywords = {Computer Science - Distributed, Parallel, and Cluster Computing}, - day = {30}, - month = {Jun}, - year = {2017}, - url = {https://arxiv.org/abs/1706.10086}, -} - -% Peer-Reviewed Publication %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Peer reviewed and accepted publication in -% "The Sixth International Workshop on -% Accelerators and Hybrid Exascale Systems (AsHES)" -% at the -% "30th IEEE International Parallel and Distributed -% Processing Symposium" in Chicago, IL, USA -@inproceedings{ZenkerAsHES2016, - author = {Erik Zenker and Benjamin Worpitz and Ren{\'{e}} Widera - and Axel Huebl and Guido Juckeland and - Andreas Kn{\"{u}}pfer and Wolfgang E. Nagel and Michael Bussmann}, - title = {Alpaka - An Abstraction Library for Parallel Kernel Acceleration}, - archivePrefix = "arXiv", - eprint = {1602.08477}, - keywords = {Computer science;CUDA;Mathematical Software;nVidia;OpenMP;Package; - performance portability;Portability;Tesla K20;Tesla K80}, - day = {23}, - month = {May}, - year = {2016}, - publisher = {IEEE Computer Society}, - url = {http://arxiv.org/abs/1602.08477}, -} - - -% Original Work: Benjamin Worpitz' Master Thesis %%%%%%%%%% -% -@MasterThesis{Worpitz2015, - author = {Benjamin Worpitz}, - title = {Investigating performance portability of a highly scalable - particle-in-cell simulation code on various multi-core - architectures}, - school = {{Technische Universit{\"{a}}t Dresden}}, - month = {Sep}, - year = {2015}, - type = {Master Thesis}, - doi = {10.5281/zenodo.49768}, - url = {http://dx.doi.org/10.5281/zenodo.49768} -} -``` - -Contributing ------------- - -Rules for contributions can be found in [CONTRIBUTING.md](CONTRIBUTING.md) - -Authors -------- - -### Maintainers* and Core Developers - -- Benjamin Worpitz* (original author) -- Dr. Sergei Bastrakov* -- Kseniia Bastrakova -- Dr. Andrea Bocci* -- Dr. Antonio Di Pilato -- Simeon Ehrig -- Luca Ferragina -- Bernhard Manfred Gruber* -- Christian Kaever -- Dr. Jeffrey Kelling -- Dr. Stewart Martin-Haugh -- Aurora Perego -- Jan Stephan* -- René Widera* -- Dr. Jeffrey Young - -### Former Members, Contributions and Thanks - -- Dr. Michael Bussmann -- Mat Colgrove -- Valentin Gehrke -- Dr. Axel Hübl -- Maximilian Knespel -- Jakob Krude -- Alexander Matthes -- Hauke Mewes -- Phil Nash -- Dr. Felice Pantaleo -- Dr. David M. Rogers -- Mutsuo Saito -- Jonas Schenke -- Daniel Vollmer -- Dr. Jiří VyskoÄil -- Matthias Werner -- Bert Wesarg -- Malte Zacharias -- Erik Zenker diff --git a/alpaka/README_SYCL.md b/alpaka/README_SYCL.md deleted file mode 100644 index 5a4eadca..00000000 --- a/alpaka/README_SYCL.md +++ /dev/null @@ -1,133 +0,0 @@ -# Using the SYCL back-end - -> :warning: **The SYCL back-end is currently in an experimental state. Bugs are to be expected.** Please report any issue you encounter. - -## Supported Compilers - -At the moment alpaka's SYCL back-end can only be used together with Intel oneAPI (latest stable version) and supports x86 CPUs, Intel GPUs and Intel FPGAs. - -## CMake mode - -`icpx` is identified as `IntelLLVM` by CMake. Compilers not based on `icpx` will be detected by CMake which will then print an error message. - -### General CMake options - -* `alpaka_ACC_SYCL_ENABLE`: set to `ON` to enable the SYCL back-end. Requires the activation of at least one oneAPI hardware target (see below). -* `oneDPL_DIR`: always required. Set to the CMake path of your oneDPL installation. Example: `/opt/intel/oneapi/dpl/2022.1.0/lib/cmake/oneDPL`. - -### Building for x86 64-bit CPUs - -The following CMake flags can be set for CPUs: - -* `alpaka_SYCL_ONEAPI_CPU`: set to `ON` to enable compilation for CPUs. Relies on the Intel OpenCL CPU runtime and ahead-of-time compiler, which support Intel and AMD CPUs. -* `alpaka_SYCL_ONEAPI_CPU_ISA`: the Intel ISA to compile for. Look at the possible `--march` options listed in the output of `opencl-aot --help`. Default: `avx2`. - -### Building for Intel FPGAs - -Note: Intel FPGAs cannot be targeted together with other Intel hardware. This is because of different compiler trajectories as explained in the Intel oneAPI documentation. - -* `alpaka_SYCL_ONEAPI_FPGA`: set to `ON` to enable compilation for Intel FPGAs. -* `alpaka_SYCL_ONEAPI_FPGA_MODE`: the Intel FPGA compilation mode. Valid values are `emulation`, `simulation` and `hardware` which correspond to the Intel high-level synthesis targets with the same name. Default: `emulation`. -* `alpaka_SYCL_ONEAPI_FPGA_BOARD`: the Intel FPGA board to compile for. Ignored in `emulation` mode but important for `simulation` and `hardware` modes. Valid values are `pac_a10` (Arria 10 GX), `pac_s10` (Stratix 10 SX / D5005) and `pac_s10_usm` (Stratix 10 SX / D5005 with restricted USM). Default: `pac_a10`. -* `alpaka_SYCL_ONEAPI_FPGA_BSP`: the Intel FPGA board support package (BSP). Valid values are `intel_a10gx_pac` (Arria 10 GX) and `intel_s10sx_pac` (Stratix 10 SX / D5005). It is also possible to supply the full path to the BSP here if `aoc` is unable to look this up by itself. Note that the BSP must be chosen according to the selected board (see previous bullet point). - -### Building for Intel GPUs - -* `alpaka_SYCL_ONEAPI_GPU`: set to `ON` to enable compilation for Intel GPUs. -* `alpaka_SYCL_ONEAPI_GPU_DEVICES`: semicolon-separated list of one or more Intel GPUs to compile for. The possible values for the devices are listed in the [UsersManual](https://intel.github.io/llvm-docs/UsersManual.html#generic-options) under the flag `-fsycl-targets`. Default: `intel_gpu_pvc`. - Note: currently only one target at a time can be specified (limitation of the Intel Compiler) - -## Standalone mode - -### General - -Using the SYCL back-end always requires the following flags: - -* `-fsycl` (compiler and linker) -* `-fsycl-standard=2020` (compiler) - -Device-side printing is possible with `printf`, it calls `sycl::ext::oneapi::experimental::printf` that emulates the standard one. This is an extension of the SYCL standard, still in an experimental state, therefore may not always work correctly. - -### Building for x86 64-bit CPUs - -1. `#include ` in your C++ code. -2. Add the following flags: - * `-fsycl-targets=spir64_x86_64` (compiler and linker): to enable CPU compilation. Note: If you are using multiple SYCL hardware targets (like CPU and GPU) separate them by comma here. - * `-Xsycl-target-backend=spir64_x86_64 "-march="` (linker): to choose the Intel ISA to compile for. Check the output of `opencl-aot --help` and look for the possible values of the `--march` flag. - -### Building for Intel FPGAs - -1. `#include ` in your C++ code. -2. Add the following flags: - * `-fintelfpga` (compiler and linker): to enable FPGA compilation. Note: This flag is not compatible with the `-fsycl-targets` flag required for the other possible targets; Intel FPGAs thus cannot be used together with other hardware targets. - * `-DALPAKA_FPGA_EMULATION` (compiler): to notify alpaka about compiling for the Intel FPGA `emulation` target. Required for `-Xsemulator` and forbidden for `-Xssimulation` and `-Xshardware`. - * `-Xsemulator` (compiler and linker): to compile for Intel's `emulation` high-level synthesis target. Mutually exclusive with `-Xssimulation` and `-Xshardware`. - * `-Xssimulation` (compiler and linker): to compile for Intel's `simulation` high-level synthesis target. Mutually exclusive with `-Xsemulator` and `-Xshardware`. - * `-Xshardware` (compiler and linker): to compile for Intel's `hardware` high-level synthesis target. Mutually exclusive with `-Xsemulator` and `-Xssimulation`. - * `-Xsboard=:` (compiler and linker): to compile for a specific FPGA board. Required when either `-Xssimulation` or `-Xshardware` have been passed (no effect for `-Xsemulator`). Possible combinations for `:` are `intel_a10gx_pac:pac_a10` (Arria 10 GX), `intel_s10sx_pac:pac_s10` (Stratix 10 SX / D5005) and `intel_s10sx_pac:pac_s10_usm` (Stratix 10 SX / D5005 with restricted USM). - -### Building for Intel GPUs - -1. `#include ` in your C++ code. -2. Add the following flags: - * `-fsycl-targets=intel_gpu_pvc` (compiler and linker): to enable GPU compilation. Note: If you are using multiple SYCL hardware targets (like CPU and GPU) separate them by comma here. - -## Using the SYCL back-end - -### Choosing the Accelerator - -In contrast to the other back-ends the SYCL back-end comes with multiple different accelerators which should be chosen according to your requirements: - -* `alpaka::AccCpuSycl` for targeting Intel and AMD CPUs. In contrast to the other CPU back-ends this will use Intel's OpenCL implementation for CPUs under the hood. -* `alpaka::AccFpgaSyclIntel` for targeting Intel FPGAs. -* `alpaka::AccGpuSyclIntel` for targeting Intel GPUs. - -These can be used interchangeably (some restrictions apply - see below) with the non-experimental alpaka accelerators to compile an existing alpaka code for SYCL-capable hardware. - -### Restrictions - -* The Intel FPGA back-end cannot be used together with the Intel CPU / GPU back-ends. This is because of the different compilation trajectory required for FPGAs and is unlikely to be fixed anytime soon. See [here](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/programming-interface/fpga-flow/why-is-fpga-compilation-different.html) for an explanation. -* Similar to the CUDA and HIP back-ends the SYCL back-end only supports up to three kernel dimensions. -* Some Intel GPUs do not support the `double` type for device code. alpaka will not check this. - You can enable software emulation for `double` precision types with - ```bash - export IGC_EnableDPEmulation=1 - export OverrideDefaultFP64Settings=1 - ``` - See [Intel's FAQ](https://github.com/intel/compute-runtime/blob/master/opencl/doc/FAQ.md#feature-double-precision-emulation-fp64) for more information. -* The FPGA back-end does not support atomics. alpaka will not check this. -* Device global variables (corresponding to `__device__` and `__constant__` variables in CUDA) are not supported in the SYCL back-end yet. -* Shared memory works but on the GPU it is very slow. -* The latest Intel OpenCL CPU runtime does not work properly. Some tests (`atomicTest`, `blockSharedTest`, `blockSharedSharingTest` and `warpTest`) fail with a `PI_ERROR_OUT_OF_RESOURCES`. The only runtime version that seems to work is 2022.14.8.0.04 (can be downloaded [here](https://github.com/intel/llvm/releases/download/2022-WW33/oclcpuexp-2022.14.8.0.04_rel.tar.gz) apart from a bug with `all_of_group` / `any_of_group` that requires the warp size being equal to the block size as a workaround. - -### Choosing the sub-group size (warp size) - -Most SYCL targets support multiple sub-group sizes. There is a trait to specify at compile time the sub-group size to use for a kernel. For example, if `MyKernel` requires a sub-group size of 32, this can be declared specialising the `alpaka::trait::WarpSize`: -```cpp -struct MyKernel { ... }; - -template -struct alpaka::trait::WarpSize - : std::integral_constant -{ -}; -``` -This can be extended to kernels that support multiple sub-group sizes at compile time: -```cpp -template -struct MyKernel { ... }; - -template -struct alpaka::trait::WarpSize, TAcc> - : std::integral_constant -{ -}; -``` - -The default behaviour, when no sub-group size is specified, is to let the back-end compiler pick the preferred size. - -Before launching a kernel with a compile-time sub-group size the user should query the sizes supported by the device, and choose accordingly. If the device does not support the requested size, the SYCL runtime will throw a synchronous exception. - -During just-in-time (JIT) compilation this guarantees that a kernel is compiled only for the sizes supported by the device. During ahead-of-time (AOT) compilation this is not enough, because the device is not known at compile time. The SYCL specification mandates that the back-end compilers should not fail if a kernel uses unsupported features, like unsupported sub-group sizes. Unfortunately the Intel OpenCL CPU and GPU compilers currently fail with a hard error. To work around this limitation, use the preprocessor macros defined when compiling AOT for the new SYCL targets to enable the compilation only for the sub-group sizes supported by each device. - -Note: while the CPU OpenCL back-end supports a sub-group size of 64, Intel's SYCL implementation currently does not. To avoid issues with the sub-group primitives, alpaka always considers the sub-group size of 64 as not supported by the device. diff --git a/alpaka/cmake/addExecutable.cmake b/alpaka/cmake/addExecutable.cmake deleted file mode 100644 index f80f3ae8..00000000 --- a/alpaka/cmake/addExecutable.cmake +++ /dev/null @@ -1,56 +0,0 @@ -# -# Copyright 2023 Benjamin Worpitz, Matthias Werner, Jan Stephan -# SPDX-License-Identifier: MPL-2.0 -# - -#------------------------------------------------------------------------------ -# -# alpaka_add_executable( [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [...]) -# -# Calls add_executable under the hood. Depending on the enabled back-ends, source file or target properties which -# cannot be propagated by the alpaka::alpaka target are set here. -# -# Using a macro to stay in the scope (fixes lost assignment of linker command in FindHIP.cmake) -# https://github.com/ROCm-Developer-Tools/HIP/issues/631 - -macro(alpaka_add_executable In_Name) - - add_executable(${In_Name} ${ARGN}) - - if(alpaka_ACC_GPU_CUDA_ENABLE) - enable_language(CUDA) - foreach(_file ${ARGN}) - if((${_file} MATCHES "\\.cpp$") OR - (${_file} MATCHES "\\.cxx$") OR - (${_file} MATCHES "\\.cu$") - ) - set_source_files_properties(${_file} PROPERTIES LANGUAGE CUDA) - endif() - endforeach() - - # We have to set this here since CUDA_SEPARABLE_COMPILATION is not propagated by the alpaka::alpaka target. - if(alpaka_RELOCATABLE_DEVICE_CODE STREQUAL ON) - set_property(TARGET ${In_Name} PROPERTY CUDA_SEPARABLE_COMPILATION ON) - elseif(alpaka_RELOCATABLE_DEVICE_CODE STREQUAL OFF) - set_property(TARGET ${In_Name} PROPERTY CUDA_SEPARABLE_COMPILATION OFF) - endif() - endif() - - if(alpaka_ACC_GPU_HIP_ENABLE) - enable_language(HIP) - foreach(_file ${ARGN}) - if((${_file} MATCHES "\\.cpp$") OR - (${_file} MATCHES "\\.cxx$") OR - (${_file} MATCHES "\\.hip$") - ) - set_source_files_properties(${_file} PROPERTIES LANGUAGE HIP) - endif() - endforeach() - - # We have to set this here because CMake currently doesn't provide hip_std_${VERSION} for - # target_compile_features() and HIP_STANDARD isn't propagated by interface libraries. - set_target_properties(${In_Name} PROPERTIES - HIP_STANDARD ${alpaka_CXX_STANDARD} - HIP_STANDARD_REQUIRED ON) - endif() -endmacro() diff --git a/alpaka/cmake/addLibrary.cmake b/alpaka/cmake/addLibrary.cmake deleted file mode 100644 index 103b3563..00000000 --- a/alpaka/cmake/addLibrary.cmake +++ /dev/null @@ -1,57 +0,0 @@ -# -# Copyright 2023 Benjamin Worpitz, Maximilian Knespel, Jan Stephan -# SPDX-License-Identifier: MPL-2.0 -# - -#------------------------------------------------------------------------------ -# -# alpaka_add_library(target [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [...]) -# -# Calls add_library under the hood. Depending on the enabled back-ends, source file or target properties which cannot -# be propagated by the alpaka::alpaka target are set here. -# -# Using a macro to stay in the scope (fixes lost assignment of linker command in FindHIP.cmake) -# https://github.com/ROCm-Developer-Tools/HIP/issues/631 - -macro(alpaka_add_library libraryName) - # add_library( [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [...]) - - add_library(${libraryName} ${ARGN}) - - if(alpaka_ACC_GPU_CUDA_ENABLE) - enable_language(CUDA) - foreach(_file ${ARGN}) - if((${_file} MATCHES "\\.cpp$") OR - (${_file} MATCHES "\\.cxx$") OR - (${_file} MATCHES "\\.cu$") - ) - set_source_files_properties(${_file} PROPERTIES LANGUAGE CUDA) - endif() - endforeach() - - # We have to set this here since CUDA_SEPARABLE_COMPILATION is not propagated by the alpaka::alpaka target. - if(alpaka_RELOCATABLE_DEVICE_CODE STREQUAL ON) - set_property(TARGET ${In_Name} PROPERTY CUDA_SEPARABLE_COMPILATION ON) - elseif(alpaka_RELOCATABLE_DEVICE_CODE STREQUAL OFF) - set_property(TARGET ${In_Name} PROPERTY CUDA_SEPARABLE_COMPILATION OFF) - endif() - endif() - - if(alpaka_ACC_GPU_HIP_ENABLE) - enable_language(HIP) - foreach(_file ${ARGN}) - if((${_file} MATCHES "\\.cpp$") OR - (${_file} MATCHES "\\.cxx$") OR - (${_file} MATCHES "\\.hip$") - ) - set_source_files_properties(${_file} PROPERTIES LANGUAGE HIP) - endif() - endforeach() - - # We have to set this here because CMake currently doesn't provide hip_std_${VERSION} for - # target_compile_features() and HIP_STANDARD isn't propagated by interface libraries. - set_target_properties(${In_Name} PROPERTIES - HIP_STANDARD ${alpaka_CXX_STANDARD} - HIP_STANDARD_REQUIRED ON) - endif() -endmacro() diff --git a/alpaka/cmake/alpakaCommon.cmake b/alpaka/cmake/alpakaCommon.cmake deleted file mode 100644 index b17fefa4..00000000 --- a/alpaka/cmake/alpakaCommon.cmake +++ /dev/null @@ -1,878 +0,0 @@ -# -# Copyright 2023 Benjamin Worpitz, Erik Zenker, Axel Hübl, Jan Stephan, René Widera, Jeffrey Kelling, Andrea Bocci, -# Bernhard Manfred Gruber, Aurora Perego -# SPDX-License-Identifier: MPL-2.0 -# - -include(CheckLanguage) # check for CUDA/HIP language support -include(CMakePrintHelpers) # for easier printing of variables and properties -include(CMakeDependentOption) # Make options depend on other options - -#------------------------------------------------------------------------------- -# Options. - -# Compiler options -macro(alpaka_compiler_option name description default) - if(NOT DEFINED alpaka_${name}) - set(alpaka_${name} ${default} CACHE STRING "${description}") - set_property(CACHE alpaka_${name} PROPERTY STRINGS "DEFAULT;ON;OFF") - endif() -endmacro() - -# Add append compiler flags to a variable or target -# -# This method is automatically documenting all compile flags added into the variables -# alpaka_COMPILER_OPTIONS_HOST, alpaka_COMPILER_OPTIONS_DEVICE. -# -# scope - which compiler is effected: DEVICE, HOST, or HOST_DEVICE -# type - type of 'name': var, list, or target -# var: space separated list -# list: is semicolon separated -# name - name of the variable or target -# ... - parameter to appended to the variable or target 'name' -function(alpaka_set_compiler_options scope type name) - if(scope STREQUAL HOST) - set(alpaka_COMPILER_OPTIONS_HOST ${alpaka_COMPILER_OPTIONS_HOST} ${ARGN} PARENT_SCOPE) - elseif(scope STREQUAL DEVICE) - set(alpaka_COMPILER_OPTIONS_DEVICE ${alpaka_COMPILER_OPTIONS_DEVICE} ${ARGN} PARENT_SCOPE) - elseif(scope STREQUAL HOST_DEVICE) - set(alpaka_COMPILER_OPTIONS_HOST ${alpaka_COMPILER_OPTIONS_HOST} ${ARGN} PARENT_SCOPE) - set(alpaka_COMPILER_OPTIONS_DEVICE ${alpaka_COMPILER_OPTIONS_DEVICE} ${ARGN} PARENT_SCOPE) - else() - message(FATAL_ERROR "alpaka_set_compiler_option 'scope' unknown, value must be 'HOST', 'DEVICE', or 'HOST_DEVICE'.") - endif() - if(type STREQUAL "list") - set(${name} ${${name}} ${ARGN} PARENT_SCOPE) - elseif(type STREQUAL "var") - foreach(arg IN LISTS ARGN) - set(tmp "${tmp} ${arg}") - endforeach() - set(${name} "${${name}} ${tmp}" PARENT_SCOPE) - elseif(type STREQUAL "target") - foreach(arg IN LISTS ARGN) - target_compile_options(${name} INTERFACE ${arg}) - endforeach() - else() - message(FATAL_ERROR "alpaka_set_compiler_option 'type=${type}' unknown, value must be 'list', 'var', or 'target'.") - endif() -endfunction() - -# HIP and platform selection and warning about unsupported features -option(alpaka_ACC_GPU_HIP_ENABLE "Enable the HIP back-end (all other back-ends must be disabled)" OFF) -option(alpaka_ACC_GPU_HIP_ONLY_MODE "Only back-ends using HIP can be enabled in this mode." OFF) # HIP only runs without other back-ends - -option(alpaka_ACC_GPU_CUDA_ENABLE "Enable the CUDA GPU back-end" OFF) -option(alpaka_ACC_GPU_CUDA_ONLY_MODE "Only back-ends using CUDA can be enabled in this mode (This allows to mix alpaka code with native CUDA code)." OFF) - -if(alpaka_ACC_GPU_CUDA_ONLY_MODE AND NOT alpaka_ACC_GPU_CUDA_ENABLE) - message(FATAL_ERROR "If alpaka_ACC_GPU_CUDA_ONLY_MODE is enabled, alpaka_ACC_GPU_CUDA_ENABLE has to be enabled as well.") -endif() -if(alpaka_ACC_GPU_HIP_ONLY_MODE AND NOT alpaka_ACC_GPU_HIP_ENABLE) - message(FATAL_ERROR "If alpaka_ACC_GPU_HIP_ONLY_MODE is enabled, alpaka_ACC_GPU_HIP_ENABLE has to be enabled as well.") -endif() - -option(alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE "Enable the serial CPU back-end" OFF) -option(alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE "Enable the threads CPU block thread back-end" OFF) -option(alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE "Enable the TBB CPU grid block back-end" OFF) -option(alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE "Enable the OpenMP 2.0 CPU grid block back-end" OFF) -option(alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE "Enable the OpenMP 2.0 CPU block thread back-end" OFF) -option(alpaka_ACC_CPU_DISABLE_ATOMIC_REF "Disable boost::atomic_ref for CPU back-ends" OFF) -option(alpaka_ACC_SYCL_ENABLE "Enable the SYCL back-end" OFF) - -# Unified compiler options -alpaka_compiler_option(FAST_MATH "Enable fast-math" DEFAULT) -alpaka_compiler_option(FTZ "Set flush to zero" DEFAULT) - -if((alpaka_ACC_GPU_CUDA_ONLY_MODE OR alpaka_ACC_GPU_HIP_ONLY_MODE) - AND - (alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE OR - alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE OR - alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE OR - alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE OR - alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE OR - alpaka_ACC_SYCL_ENABLE)) - if(alpaka_ACC_GPU_CUDA_ONLY_MODE) - message(FATAL_ERROR "If alpaka_ACC_GPU_CUDA_ONLY_MODE is enabled, only back-ends using CUDA can be enabled! This allows to mix alpaka code with native CUDA code. However, this prevents any non-CUDA back-ends from being enabled.") - endif() - if(alpaka_ACC_GPU_HIP_ONLY_MODE) - message(FATAL_ERROR "If alpaka_ACC_GPU_HIP_ONLY_MODE is enabled, only back-ends using HIP can be enabled!") - endif() - set(_alpaka_FOUND FALSE) -endif() - -# avoids CUDA+HIP conflict -if(alpaka_ACC_GPU_HIP_ENABLE AND alpaka_ACC_GPU_CUDA_ENABLE) - message(FATAL_ERROR "CUDA and HIP can not be enabled both at the same time.") -endif() - -# HIP is only supported on Linux -if(alpaka_ACC_GPU_HIP_ENABLE AND (MSVC OR WIN32)) - message(FATAL_ERROR "Optional alpaka dependency HIP can not be built on Windows!") -endif() - -# Drop-down combo box in cmake-gui. -set(alpaka_DEBUG "0" CACHE STRING "Debug level") -set_property(CACHE alpaka_DEBUG PROPERTY STRINGS "0;1;2") - -set(alpaka_CXX_STANDARD_DEFAULT "17") -# Check whether alpaka_CXX_STANDARD has already been defined as a non-cached variable. -if(DEFINED alpaka_CXX_STANDARD) - set(alpaka_CXX_STANDARD_DEFAULT ${alpaka_CXX_STANDARD}) -endif() - -set(alpaka_CXX_STANDARD ${alpaka_CXX_STANDARD_DEFAULT} CACHE STRING "C++ standard version") -set_property(CACHE alpaka_CXX_STANDARD PROPERTY STRINGS "17;20") - -if(NOT TARGET alpaka) - add_library(alpaka INTERFACE) - - target_compile_features(alpaka INTERFACE cxx_std_${alpaka_CXX_STANDARD}) - - add_library(alpaka::alpaka ALIAS alpaka) -endif() - -set(alpaka_BLOCK_SHARED_DYN_MEMBER_ALLOC_KIB "47" CACHE STRING "Kibibytes (1024B) of memory to allocate for block shared memory for backends requiring static allocation (includes CPU_B_OMP2_T_SEQ, CPU_B_TBB_T_SEQ, CPU_B_SEQ_T_SEQ, SYCL)") -alpaka_compiler_option(RELOCATABLE_DEVICE_CODE "Enable relocatable device code for CUDA, HIP and SYCL devices" DEFAULT) - -# Random number generators -option(alpaka_DISABLE_VENDOR_RNG "Disable the vendor specific random number generators (NVIDIA cuRAND, AMD rocRAND, Intel DPL)" OFF) -if(alpaka_DISABLE_VENDOR_RNG) - target_compile_definitions(alpaka INTERFACE "ALPAKA_DISABLE_VENDOR_RNG") -endif() - -# Device side assert -option(alpaka_ASSERT_ACC_ENABLE "Enable device side asserts. In case value is OFF device side asserts will be disabled even if NDEBUG is not defined." ON) -if(!alpaka_ASSERT_ACC_ENABLE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_DISABLE_ASSERT_ACC") -endif() - -#------------------------------------------------------------------------------- -# Debug output of common variables. -if(${alpaka_DEBUG} GREATER 1) - cmake_print_variables(_alpaka_ROOT_DIR) - cmake_print_variables(_alpaka_COMMON_FILE) - cmake_print_variables(_alpaka_ADD_EXECUTABLE_FILE) - cmake_print_variables(_alpaka_ADD_LIBRARY_FILE) - cmake_print_variables(CMAKE_BUILD_TYPE) -endif() - -#------------------------------------------------------------------------------- -# Check supported compilers. -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9) - message(FATAL_ERROR "Clang versions < 9 are not supported!") -endif() - -if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - message(WARNING "The Intel Classic compiler (icpc) is no longer supported. Please upgrade to the Intel LLVM compiler (ipcx)!") -endif() - -#------------------------------------------------------------------------------- -# Compiler settings. - -if(MSVC) - # warning C4505: '__cudaUnregisterBinaryUtil': unreferenced local function has been removed - if(alpaka_ACC_GPU_CUDA_ONLY_MODE) - target_compile_options(alpaka INTERFACE "$<$:SHELL:-Xcompiler /wd4505>") - endif() -else() - # For std::future we need to pass the correct pthread flag for the compiler and the linker: - # https://github.com/alpaka-group/cupla/pull/128#issuecomment-545078917 - - # Allow users to override the "-pthread" preference. - if(NOT THREADS_PREFER_PTHREAD_FLAG) - set(THREADS_PREFER_PTHREAD_FLAG TRUE) - endif() - - find_package(Threads REQUIRED) - target_link_libraries(alpaka INTERFACE Threads::Threads) - - if(NOT APPLE) - # librt: undefined reference to `clock_gettime' - find_library(RT_LIBRARY rt) - if(RT_LIBRARY) - target_link_libraries(alpaka INTERFACE ${RT_LIBRARY}) - endif() - endif() - - # Add debug optimization levels. CMake doesn't do this by default. - # Note that -Og is the recommended gcc optimization level for debug mode but is equivalent to -O1 for clang (and its derivates). - alpaka_set_compiler_options(HOST_DEVICE target alpaka "$<$,$,$>:SHELL:-Og>" - "$<$,$,$>:SHELL:-Xcompiler -Og>" - "$<$,$>:SHELL:-O0>" - "$<$,$>:SHELL:/Od>") - - target_link_options(alpaka INTERFACE "$<$,$>:SHELL:-Og>" - "$<$,$>:SHELL:-O0>") -endif() - -#------------------------------------------------------------------------------- -# Find Boost. -set(_alpaka_BOOST_MIN_VER "1.74.0") - -if(${alpaka_DEBUG} GREATER 1) - SET(Boost_DEBUG ON) - SET(Boost_DETAILED_FAILURE_MSG ON) -endif() - -find_package(Boost ${_alpaka_BOOST_MIN_VER} REQUIRED - OPTIONAL_COMPONENTS atomic) - -target_link_libraries(alpaka INTERFACE Boost::headers) - -if(alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE OR - alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE OR - alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE OR - alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE OR - alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE) - - if(NOT alpaka_ACC_CPU_DISABLE_ATOMIC_REF) - # Check for C++20 std::atomic_ref first - if(${alpaka_CXX_STANDARD} VERSION_GREATER_EQUAL "20") - try_compile(alpaka_HAS_STD_ATOMIC_REF # Result stored here - "${PROJECT_BINARY_DIR}/alpakaFeatureTests" # Binary directory for output file - SOURCES "${_alpaka_FEATURE_TESTS_DIR}/StdAtomicRef.cpp" # Source file - CXX_STANDARD 20 - CXX_STANDARD_REQUIRED TRUE - CXX_EXTENSIONS FALSE) - if(alpaka_HAS_STD_ATOMIC_REF AND (NOT alpaka_ACC_CPU_DISABLE_ATOMIC_REF)) - message(STATUS "std::atomic_ref found") - target_compile_definitions(alpaka INTERFACE ALPAKA_HAS_STD_ATOMIC_REF) - else() - message(STATUS "std::atomic_ref NOT found") - endif() - endif() - - if(Boost_ATOMIC_FOUND AND (NOT alpaka_HAS_STD_ATOMIC_REF)) - message(STATUS "boost::atomic_ref found") - target_link_libraries(alpaka INTERFACE Boost::atomic) - endif() - endif() - - if(alpaka_ACC_CPU_DISABLE_ATOMIC_REF OR ((NOT alpaka_HAS_STD_ATOMIC_REF) AND (NOT Boost_ATOMIC_FOUND))) - message(STATUS "atomic_ref was not found or manually disabled. Falling back to lock-based CPU atomics.") - target_compile_definitions(alpaka INTERFACE ALPAKA_DISABLE_ATOMIC_ATOMICREF) - endif() -endif() - -if(${alpaka_DEBUG} GREATER 1) - message(STATUS "Boost in:") - cmake_print_variables(BOOST_ROOT) - cmake_print_variables(BOOSTROOT) - cmake_print_variables(BOOST_INCLUDEDIR) - cmake_print_variables(BOOST_LIBRARYDIR) - cmake_print_variables(Boost_NO_SYSTEM_PATHS) - cmake_print_variables(Boost_ADDITIONAL_VERSIONS) - cmake_print_variables(Boost_USE_MULTITHREADED) - cmake_print_variables(Boost_USE_STATIC_LIBS) - cmake_print_variables(Boost_USE_STATIC_RUNTIME) - cmake_print_variables(Boost_USE_DEBUG_RUNTIME) - cmake_print_variables(Boost_USE_DEBUG_PYTHON) - cmake_print_variables(Boost_USE_STLPORT) - cmake_print_variables(Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS) - cmake_print_variables(Boost_COMPILER) - cmake_print_variables(Boost_THREADAPI) - cmake_print_variables(Boost_NAMESPACE) - cmake_print_variables(Boost_DEBUG) - cmake_print_variables(Boost_DETAILED_FAILURE_MSG) - cmake_print_variables(Boost_REALPATH) - cmake_print_variables(Boost_NO_BOOST_CMAKE) - message(STATUS "Boost out:") - cmake_print_variables(Boost_FOUND) - cmake_print_variables(Boost_INCLUDE_DIRS) - cmake_print_variables(Boost_LIBRARY_DIRS) - cmake_print_variables(Boost_LIBRARIES) - cmake_print_variables(Boost_CONTEXT_FOUND) - cmake_print_variables(Boost_CONTEXT_LIBRARY) - cmake_print_variables(Boost_SYSTEM_FOUND) - cmake_print_variables(Boost_SYSTEM_LIBRARY) - cmake_print_variables(Boost_THREAD_FOUND) - cmake_print_variables(Boost_THREAD_LIBRARY) - cmake_print_variables(Boost_ATOMIC_FOUND) - cmake_print_variables(Boost_ATOMIC_LIBRARY) - cmake_print_variables(Boost_CHRONO_FOUND) - cmake_print_variables(Boost_CHRONO_LIBRARY) - cmake_print_variables(Boost_DATE_TIME_FOUND) - cmake_print_variables(Boost_DATE_TIME_LIBRARY) - cmake_print_variables(Boost_VERSION) - cmake_print_variables(Boost_LIB_VERSION) - cmake_print_variables(Boost_MAJOR_VERSION) - cmake_print_variables(Boost_MINOR_VERSION) - cmake_print_variables(Boost_SUBMINOR_VERSION) - cmake_print_variables(Boost_LIB_DIAGNOSTIC_DEFINITIONS) - message(STATUS "Boost cached:") - cmake_print_variables(Boost_INCLUDE_DIR) - cmake_print_variables(Boost_LIBRARY_DIR) -endif() - -#------------------------------------------------------------------------------- -# If available, use C++20 math constants. Otherwise, fall back to M_PI etc. -if(${alpaka_CXX_STANDARD} VERSION_LESS "20") - set(alpaka_HAS_STD_MATH_CONSTANTS FALSE) -else() - try_compile(alpaka_HAS_STD_MATH_CONSTANTS # Result stored here - "${PROJECT_BINARY_DIR}/alpakaFeatureTests" # Binary directory for output file - SOURCES "${_alpaka_FEATURE_TESTS_DIR}/MathConstants.cpp" # Source file - CXX_STANDARD 20 - CXX_STANDARD_REQUIRED TRUE - CXX_EXTENSIONS FALSE) -endif() - -if(NOT alpaka_HAS_STD_MATH_CONSTANTS) - message(STATUS "C++20 math constants not found. Falling back to non-standard constants.") - # Enable non-standard constants for MSVC. - target_compile_definitions(alpaka INTERFACE "$<$,$,$>>:_USE_MATH_DEFINES>") -endif() - -#------------------------------------------------------------------------------- -# Find TBB. -if(alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE) - find_package(TBB 2021.4.0.0 REQUIRED) - target_link_libraries(alpaka INTERFACE TBB::tbb) -endif() - -#------------------------------------------------------------------------------- -# Find OpenMP. -if(alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE OR alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE) - if(APPLE) - # Starting from Xcode 14.3.1 our self-compiled OpenMP libraries are no longer visible by default. We need to specify a few paths first. - find_package(OpenMP COMPONENTS CXX) - if(NOT OpenMP_CXX_FOUND) - execute_process(COMMAND brew --prefix libomp - OUTPUT_VARIABLE HOMEBREW_LIBOMP_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(OpenMP_CXX_FLAGS "-Xpreprocessor -fopenmp -I${HOMEBREW_LIBOMP_PREFIX}/include") - set(OpenMP_CXX_LIB_NAMES "omp") - set(OpenMP_omp_LIBRARY ${HOMEBREW_LIBOMP_PREFIX}/lib/libomp.dylib) - - find_package(OpenMP REQUIRED COMPONENTS CXX) - endif() - target_link_libraries(alpaka INTERFACE OpenMP::OpenMP_CXX) - else() - find_package(OpenMP REQUIRED COMPONENTS CXX) - target_link_libraries(alpaka INTERFACE OpenMP::OpenMP_CXX) - endif() -endif() - -#------------------------------------------------------------------------------- -# Find CUDA. -if(alpaka_ACC_GPU_CUDA_ENABLE) - # Save the user-defined host compiler (if any) - set(_alpaka_CUDA_HOST_COMPILER ${CMAKE_CUDA_HOST_COMPILER}) - - check_language(CUDA) - - if(CMAKE_CUDA_COMPILER) - if(NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang") - # Use user selected CMake CXX compiler or CMAKE_CUDA_HOST_COMPILER as cuda host compiler to avoid fallback to the default system CXX host compiler. - # CMAKE_CUDA_HOST_COMPILER is reset by check_language(CUDA) therefore definitions passed by the user via -DCMAKE_CUDA_HOST_COMPILER are - # ignored by CMake (looks like a CMake bug). - if(_alpaka_CUDA_HOST_COMPILER) - set(CMAKE_CUDA_HOST_COMPILER ${_alpaka_CUDA_HOST_COMPILER}) - elseif("$ENV{CUDAHOSTCXX}" STREQUAL "") - set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER}) - endif() - endif() - - enable_language(CUDA) - find_package(CUDAToolkit REQUIRED) - - target_compile_features(alpaka INTERFACE cuda_std_${alpaka_CXX_STANDARD}) - - alpaka_compiler_option(CUDA_SHOW_REGISTER "Show kernel registers and create device ASM" DEFAULT) - alpaka_compiler_option(CUDA_KEEP_FILES "Keep all intermediate files that are generated during internal compilation steps 'CMakeFiles/.dir'" DEFAULT) - alpaka_compiler_option(CUDA_EXPT_EXTENDED_LAMBDA "Enable experimental, extended host-device lambdas in CUDA with nvcc" ON) - - if(CMAKE_CUDA_COMPILER_ID STREQUAL "Clang") - message(STATUS "clang is used as CUDA compiler") - - if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 14.0) - # clang-14 is the first version to fully support CUDA 11.x - message(FATAL_ERROR "clang as CUDA compiler requires at least clang-14.") - else() - message(WARNING "If you are using CUDA 11.3 please note of the following issue: https://github.com/alpaka-group/alpaka/issues/1857") - endif() - - if(alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE OR alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE) - message(FATAL_ERROR "Clang as a CUDA compiler does not support OpenMP 2!") - endif() - - target_compile_options(alpaka INTERFACE "$<$:SHELL:-Wno-unknown-cuda-version>") - - # This flag silences the warning produced by the Dummy.cpp files: - # clang: warning: argument unused during compilation: '--cuda-gpu-arch=sm_XX' - # This seems to be a false positive as all flags are 'unused' for an empty file. - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-Qunused-arguments>") - - # Silences warnings that are produced by boost because clang is not correctly identified. - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-Wno-unused-local-typedef>") - - if(alpaka_FAST_MATH STREQUAL ON) - # -ffp-contract=fast enables the usage of FMA - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-ffast-math -ffp-contract=fast>") - endif() - - if(alpaka_FTZ STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-fcuda-flush-denormals-to-zero>") - endif() - - if(alpaka_CUDA_SHOW_REGISTER STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-Xcuda-ptxas=-v>") - endif() - - if(alpaka_CUDA_KEEP_FILES STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-save-temps>") - endif() - - elseif(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA") - message(STATUS "nvcc is used as CUDA compiler") - - # nvcc sets no linux/__linux macros on OpenPOWER linux - # nvidia bug id: 2448610 - if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - if(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le") - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-Dlinux>") - endif() - endif() - - if(alpaka_CUDA_EXPT_EXTENDED_LAMBDA STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:--extended-lambda>") - endif() - # This is mandatory because with C++17 many standard library functions we rely on are constexpr (std::min, std::multiplies, ...) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:--expt-relaxed-constexpr>") - - # CMake automatically sets '-g' in debug mode - alpaka_set_compiler_options(DEVICE target alpaka "$<$,$>:SHELL:-G>" # -G overrides -lineinfo - "$<$,$>:SHELL:-g -lineinfo>") - - if(alpaka_FAST_MATH STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:--use_fast_math>") - endif() - - if(alpaka_FTZ STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:--ftz=true>") - elseif(alpaka_FTZ STREQUAL OFF) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:--ftz=false>") - endif() - - if(alpaka_CUDA_SHOW_REGISTER STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-Xptxas -v>") - endif() - - if(alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE OR alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE) - if(NOT MSVC) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-Xcompiler -fopenmp>") - - # See https://github.com/alpaka-group/alpaka/issues/1755 - if((${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") AND - (${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER_EQUAL 13)) - message(STATUS "clang >= 13 detected. Force-setting OpenMP to version 4.5.") - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-Xcompiler -fopenmp-version=45>") - endif() - else() - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-Xcompiler /openmp>") - endif() - endif() - - # Always add warning/error numbers which can be used for suppressions - set(ALPAKA_CUDA_DISPLAY_ERROR_NUM "$,11.2.0>,-Xcudafe=--display_error_number,--display-error-number>") - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:${ALPAKA_CUDA_DISPLAY_ERROR_NUM}>") - - if(alpaka_CUDA_KEEP_FILES STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:--keep>") - endif() - - option(alpaka_CUDA_SHOW_CODELINES "Show kernel lines in cuda-gdb and cuda-memcheck. If alpaka_CUDA_KEEP_FILES is enabled source code will be inlined in ptx." OFF) - if(alpaka_CUDA_SHOW_CODELINES) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:--source-in-ptx -lineinfo>") - - # This is shaky - We currently don't have a way of checking for the host compiler ID. - # See https://gitlab.kitware.com/cmake/cmake/-/issues/20901 - if(NOT MSVC) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-Xcompiler -rdynamic>") - endif() - set(alpaka_CUDA_KEEP_FILES ON CACHE BOOL "activate keep files" FORCE) - endif() - endif() - - if(NOT alpaka_DISABLE_VENDOR_RNG) - # Use cuRAND random number generators - target_link_libraries(alpaka INTERFACE CUDA::cudart CUDA::curand) - endif() - else() - message(FATAL_ERROR "Optional alpaka dependency CUDA could not be found!") - endif() -endif() - -#------------------------------------------------------------------------------- -# Find HIP. -if(alpaka_ACC_GPU_HIP_ENABLE) - - check_language(HIP) - - if(CMAKE_HIP_COMPILER) - enable_language(HIP) - find_package(hip REQUIRED) - - set(_alpaka_HIP_MIN_VER 5.1) - set(_alpaka_HIP_MAX_VER 6.0) - - # construct hip version only with major and minor level - # cannot use hip_VERSION because of the patch level - # 6.0 is smaller than 6.0.1234, so _alpaka_HIP_MAX_VER would have to be defined with a large patch level or - # the next minor level, e.g. 6.1, would have to be used. - set(_hip_MAJOR_MINOR_VERSION "${hip_VERSION_MAJOR}.${hip_VERSION_MINOR}") - - if(${_hip_MAJOR_MINOR_VERSION} VERSION_LESS ${_alpaka_HIP_MIN_VER} OR ${_hip_MAJOR_MINOR_VERSION} VERSION_GREATER ${_alpaka_HIP_MAX_VER}) - message(WARNING "HIP ${_hip_MAJOR_MINOR_VERSION} is not official supported by alpaka. Supported versions: ${_alpaka_HIP_MIN_VER} - ${_alpaka_HIP_MAX_VER}") - endif() - - - target_link_libraries(alpaka INTERFACE "$<$:hip::host>") - alpaka_set_compiler_options(HOST_DEVICE target alpaka "$<$:-D__HIP_PLATFORM_AMD__>") - if(${_hip_MAJOR_MINOR_VERSION} VERSION_EQUAL "5.1") - alpaka_set_compiler_options(HOST_DEVICE target alpaka "$<$:-D__HIP_PLATFORM_HCC__>") - endif() - - alpaka_compiler_option(HIP_KEEP_FILES "Keep all intermediate files that are generated during internal compilation steps 'CMakeFiles/.dir'" OFF) - if(alpaka_HIP_KEEP_FILES) - alpaka_set_compiler_options(HOST_DEVICE target alpaka "$<$:SHELL:-save-temps>") - endif() - - if(alpaka_FAST_MATH STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-ffast-math>") - endif() - - if(NOT alpaka_DISABLE_VENDOR_RNG) - # hiprand requires ROCm implementation of random numbers by rocrand - # hip::hiprand is currently not expressing this dependency - find_package(rocrand REQUIRED CONFIG - HINTS "${ROCM_ROOT_DIR}/rocrand" - HINTS "/opt/rocm/rocrand") - if(rocrand_FOUND) - target_link_libraries(alpaka INTERFACE roc::rocrand) - else() - MESSAGE(FATAL_ERROR "Could not find rocRAND (also searched in: ROCM_ROOT_DIR=${ROCM_ROOT_DIR}/rocrand).") - endif() - - # HIP random numbers - find_package(hiprand REQUIRED CONFIG - HINTS "${HIP_ROOT_DIR}/hiprand" - HINTS "/opt/rocm/hiprand") - if(hiprand_FOUND) - target_link_libraries(alpaka INTERFACE hip::hiprand) - else() - MESSAGE(FATAL_ERROR "Could not find hipRAND (also searched in: HIP_ROOT_DIR=${HIP_ROOT_DIR}/hiprand).") - endif() - endif() - - if(alpaka_RELOCATABLE_DEVICE_CODE STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL-fgpu-rdc>") - target_link_options(alpaka INTERFACE "$<$:SHELL:-fgpu-rdc --hip-link>") - elseif(alpaka_RELOCATABLE_DEVICE_CODE STREQUAL OFF) - alpaka_set_compiler_options(DEVICE target alpaka "$<$:SHELL:-fno-gpu-rdc>") - endif() - else() - message(FATAL_ERROR "Optional alpaka dependency HIP could not be found!") - endif() -endif() # HIP - -#------------------------------------------------------------------------------- -# SYCL settings -if(alpaka_ACC_SYCL_ENABLE) - if(${CMAKE_CXX_COMPILER_ID} STREQUAL "IntelLLVM") - # Possible oneAPI targets - cmake_dependent_option(alpaka_SYCL_ONEAPI_CPU "Enable oneAPI CPU targets for the SYCL back-end" OFF "alpaka_ACC_SYCL_ENABLE" OFF) - cmake_dependent_option(alpaka_SYCL_ONEAPI_FPGA "Enable oneAPI FPGA targets for the SYCL back-end" OFF "alpaka_ACC_SYCL_ENABLE" OFF) - cmake_dependent_option(alpaka_SYCL_ONEAPI_GPU "Enable oneAPI GPU targets for the SYCL back-end" OFF "alpaka_ACC_SYCL_ENABLE" OFF) - # Intel FPGA emulation / simulation - if(alpaka_SYCL_ONEAPI_FPGA) - set(alpaka_SYCL_ONEAPI_FPGA_MODE "emulation" CACHE STRING "Synthesis type for oneAPI FPGA targets") - set_property(CACHE alpaka_SYCL_ONEAPI_FPGA_MODE PROPERTY STRINGS "emulation;simulation;hardware") - endif() - - alpaka_set_compiler_options(HOST_DEVICE target alpaka "-fsycl") - target_link_options(alpaka INTERFACE "-fsycl") - alpaka_set_compiler_options(HOST_DEVICE target alpaka "-sycl-std=2020") - - #----------------------------------------------------------------------------------------------------------------- - # Determine SYCL targets - set(alpaka_SYCL_ONEAPI_CPU_TARGET "spir64_x86_64") - set(alpaka_SYCL_ONEAPI_FPGA_TARGET "spir64_fpga") - set(alpaka_SYCL_ONEAPI_GPU_TARGET ${alpaka_SYCL_ONEAPI_GPU_DEVICES}) - - if(alpaka_SYCL_ONEAPI_CPU) - list(APPEND alpaka_SYCL_TARGETS ${alpaka_SYCL_ONEAPI_CPU_TARGET}) - endif() - - if(alpaka_SYCL_ONEAPI_FPGA) - list(APPEND alpaka_SYCL_TARGETS ${alpaka_SYCL_ONEAPI_FPGA_TARGET}) - endif() - - if(alpaka_SYCL_ONEAPI_GPU) - list(APPEND alpaka_SYCL_TARGETS ${alpaka_SYCL_ONEAPI_GPU_TARGET}) - endif() - - if(NOT alpaka_SYCL_TARGETS) - message(FATAL_ERROR "You must specify at least one oneAPI hardware target!") - endif() - - list(JOIN alpaka_SYCL_TARGETS "," alpaka_SYCL_TARGETS_CONCAT) - alpaka_set_compiler_options(HOST_DEVICE target alpaka "-fsycl-targets=${alpaka_SYCL_TARGETS_CONCAT}") - target_link_options(alpaka INTERFACE "-fsycl-targets=${alpaka_SYCL_TARGETS_CONCAT}") - - #----------------------------------------------------------------------------------------------------------------- - # Determine actual hardware to compile for - if(alpaka_SYCL_ONEAPI_CPU) - set(alpaka_SYCL_ONEAPI_CPU_ISA "avx2" CACHE STRING "Intel ISA to compile for") - set_property(CACHE alpaka_SYCL_ONEAPI_CPU_ISA PROPERTY STRINGS "sse4.2;avx;avx2;avx512") - - target_compile_definitions(alpaka INTERFACE "ALPAKA_SYCL_ONEAPI_CPU") - target_link_options(alpaka INTERFACE "SHELL:-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_CPU_TARGET} \"-march=${alpaka_SYCL_ONEAPI_CPU_ISA}\"") - endif() - - if(alpaka_SYCL_ONEAPI_FPGA) - target_compile_definitions(alpaka INTERFACE "ALPAKA_SYCL_ONEAPI_FPGA") - - if(alpaka_SYCL_ONEAPI_FPGA_MODE STREQUAL "emulation") - target_compile_definitions(alpaka INTERFACE "ALPAKA_FPGA_EMULATION") - alpaka_set_compiler_options(DEVICE target alpaka "-Xsemulator") - target_link_options(alpaka INTERFACE "-Xsemulator") - elseif(alpaka_SYCL_ONEAPI_FPGA_MODE STREQUAL "simulation") - alpaka_set_compiler_options(DEVICE target alpaka "-Xssimulation") - target_link_options(alpaka INTERFACE "-Xssimulation") - elseif(alpaka_SYCL_ONEAPI_FPGA_MODE STREQUAL "hardware") - alpaka_set_compiler_options(DEVICE target alpaka "-Xshardware") - target_link_options(alpaka INTERFACE "-Xshardware") - endif() - - if(NOT alpaka_SYCL_ONEAPI_FPGA_MODE STREQUAL "emulation") - set(alpaka_SYCL_ONEAPI_FPGA_BOARD "pac_a10" CACHE STRING "Intel FPGA board to compile for") - set_property(CACHE alpaka_SYCL_ONEAPI_FPGA_BOARD PROPERTY STRINGS "pac_a10;pac_s10;pac_s10_usm") - - set(alpaka_SYCL_ONEAPI_FPGA_BSP "intel_a10gx_pac" CACHE STRING "Path to or name of the Intel FPGA board support package") - set_property(CACHE alpaka_SYCL_ONEAPI_FPGA_BSP PROPERTY STRINGS "intel_a10gx_pac;intel_s10sx_pac") - target_link_options(alpaka INTERFACE "-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_FPGA_TARGET} \"-board=${alpaka_SYCL_ONEAPI_FPGA_BSP}:${alpaka_SYCL_ONEAPI_FPGA_BOARD}\"") - endif() - endif() - - if(alpaka_SYCL_ONEAPI_GPU) - # Create a drop-down list (in cmake-gui) of valid Intel GPU targets. On the command line the user can specifiy - # additional targets, such as ranges: "Gen8-Gen12LP" or lists: "icllp;skl". - set(alpaka_SYCL_ONEAPI_GPU_DEVICES "intel_gpu_pvc" CACHE STRING "Intel GPU devices / generations to compile for") - set_property(CACHE alpaka_SYCL_ONEAPI_GPU_DEVICES - PROPERTY STRINGS "intel_gpu_pvc;intel_gpu_acm_g12;intel_gpu_acm_g11;intel_gpu_acm_g10;intel_gpu_dg1;intel_gpu_adl_n;intel_gpu_adl_p;intel_gpu_rpl_s;intel_gpu_adl_s;intel_gpu_rkl;intel_gpu_tgllp;intel_gpu_icllp;intel_gpu_cml;intel_gpu_aml;intel_gpu_whl;intel_gpu_glk;intel_gpu_apl;intel_gpu_cfl;intel_gpu_kbl;intel_gpu_skl;intel_gpu_bdw") - # If the user has given us a list turn all ';' into ',' to pacify the Intel OpenCL compiler. - string(REPLACE ";" "," alpaka_SYCL_ONEAPI_GPU_DEVICES "${alpaka_SYCL_ONEAPI_GPU_DEVICES}") - - target_compile_definitions(alpaka INTERFACE "ALPAKA_SYCL_ONEAPI_GPU") - endif() - - #----------------------------------------------------------------------------------------------------------------- - # Generic SYCL options - alpaka_set_compiler_options(DEVICE target alpaka "-fsycl-unnamed-lambda") # Compiler default but made explicit here - - if(alpaka_RELOCATABLE_DEVICE_CODE STREQUAL ON) - alpaka_set_compiler_options(DEVICE target alpaka "-fsycl-rdc") - target_link_options(alpaka INTERFACE "-fsycl-rdc") - elseif(alpaka_RELOCATABLE_DEVICE_CODE STREQUAL OFF) - alpaka_set_compiler_options(DEVICE target alpaka "-fno-sycl-rdc") - target_link_options(alpaka INTERFACE "-fno-sycl-rdc") - endif() - else() - message(FATAL_ERROR "alpaka currently does not support SYCL implementations other than oneAPI.") - endif() - - if(NOT alpaka_DISABLE_VENDOR_RNG) - # Use oneDPL random number generators - find_package(oneDPL REQUIRED) - target_link_libraries(alpaka INTERFACE oneDPL) - endif() -endif() - -#------------------------------------------------------------------------------- -# alpaka. -if(alpaka_ACC_GPU_CUDA_ONLY_MODE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_GPU_CUDA_ONLY_MODE") - message(STATUS alpaka_ACC_GPU_CUDA_ONLY_MODE) -endif() - -if(alpaka_ACC_GPU_HIP_ONLY_MODE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_GPU_HIP_ONLY_MODE") - message(STATUS alpaka_ACC_GPU_HIP_ONLY_MODE) -endif() - -if(alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLED") - message(STATUS alpaka_ACC_CPU_B_SEQ_T_SEQ_ENABLED) -endif() - -if(alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLED") - message(STATUS alpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLED) -endif() -if(alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLED") - message(STATUS alpaka_ACC_CPU_B_TBB_T_SEQ_ENABLED) -endif() -if(alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLED") - message(STATUS alpaka_ACC_CPU_B_OMP2_T_SEQ_ENABLED) -endif() -if(alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLED") - message(STATUS alpaka_ACC_CPU_B_SEQ_T_OMP2_ENABLED) -endif() -if(alpaka_ACC_GPU_CUDA_ENABLE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_GPU_CUDA_ENABLED") - message(STATUS alpaka_ACC_GPU_CUDA_ENABLED) -endif() -if(alpaka_ACC_GPU_HIP_ENABLE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_GPU_HIP_ENABLED") - message(STATUS alpaka_ACC_GPU_HIP_ENABLED) -endif() - -if(alpaka_ACC_SYCL_ENABLE) - target_compile_definitions(alpaka INTERFACE "ALPAKA_ACC_SYCL_ENABLED") - - if(alpaka_SYCL_ONEAPI_CPU) - target_compile_definitions(alpaka INTERFACE "ALPAKA_SYCL_TARGET_CPU") - endif() - if(alpaka_SYCL_ONEAPI_FPGA) - target_compile_definitions(alpaka INTERFACE "ALPAKA_SYCL_TARGET_FPGA") - endif() - if(alpaka_SYCL_ONEAPI_GPU) - target_compile_definitions(alpaka INTERFACE "ALPAKA_SYCL_TARGET_GPU") - endif() - - message(STATUS alpaka_ACC_SYCL_ENABLED) -endif() - -target_compile_definitions(alpaka INTERFACE "ALPAKA_DEBUG=${alpaka_DEBUG}") - -target_compile_definitions(alpaka INTERFACE "ALPAKA_BLOCK_SHARED_DYN_MEMBER_ALLOC_KIB=${alpaka_BLOCK_SHARED_DYN_MEMBER_ALLOC_KIB}") - -if(alpaka_CI) - target_compile_definitions(alpaka INTERFACE "ALPAKA_CI") -endif() - -#------------------------------------------------------------------------------- -# Target. -if(TARGET alpaka) - - if(${alpaka_DEBUG} GREATER 1) - # Compile options. - get_property(_alpaka_COMPILE_OPTIONS_PUBLIC - TARGET alpaka - PROPERTY INTERFACE_COMPILE_OPTIONS) - cmake_print_variables(_alpaka_COMPILE_OPTIONS_PUBLIC) - - # Compile definitions - get_property(_alpaka_COMPILE_DEFINITIONS_PUBLIC - TARGET alpaka - PROPERTY INTERFACE_COMPILE_DEFINITIONS) - cmake_print_variables(_alpaka_COMPILE_DEFINITIONS_PUBLIC) - - # Include directories. - get_property(_alpaka_INCLUDE_DIRECTORIES_PUBLIC - TARGET alpaka - PROPERTY INTERFACE_INCLUDE_DIRECTORIES) - cmake_print_variables(_alpaka_INCLUDE_DIRECTORIES_PUBLIC) - endif() - - # the alpaka library itself - # SYSTEM voids showing warnings produced by alpaka when used in user applications. - if(BUILD_TESTING) - target_include_directories(alpaka INTERFACE ${_alpaka_INCLUDE_DIRECTORY}) - else() - target_include_directories(alpaka SYSTEM INTERFACE ${_alpaka_INCLUDE_DIRECTORY}) - endif() - - if(${alpaka_DEBUG} GREATER 1) - # Link libraries. - # There are no PUBLIC_LINK_FLAGS in CMAKE: - # http://stackoverflow.com/questions/26850889/cmake-keeping-link-flags-of-internal-libs - get_property(_alpaka_LINK_LIBRARIES_PUBLIC - TARGET alpaka - PROPERTY INTERFACE_LINK_LIBRARIES) - cmake_print_variables(_alpaka_LINK_LIBRARIES_PUBLIC) - - get_property(_alpaka_LINK_FLAGS_PUBLIC - TARGET alpaka - PROPERTY INTERFACE_LINK_OPTIONS) - cmake_print_variables(_alpaka_LINK_FLAGS_PUBLIC) - endif() -endif() - -# Compile options summary -if(alpaka_COMPILER_OPTIONS_DEVICE OR alpaka_COMPILER_OPTIONS_DEVICE) - message("") - message("List of compiler flags added by alpaka") - if(alpaka_COMPILER_OPTIONS_HOST) - message("host compiler:") - message(" ${alpaka_COMPILER_OPTIONS_HOST}") - endif() - if(alpaka_COMPILER_OPTIONS_DEVICE) - message("device compiler:") - message(" ${alpaka_COMPILER_OPTIONS_DEVICE}") - endif() - message("") -endif() - -#------------------------------------------------------------------------------- -# Include mdspan - -set(alpaka_USE_MDSPAN "OFF" CACHE STRING "Use std::mdspan with alpaka") -set_property(CACHE alpaka_USE_MDSPAN PROPERTY STRINGS "SYSTEM;FETCH;OFF") - -if (alpaka_USE_MDSPAN STREQUAL "SYSTEM") - find_package(mdspan REQUIRED) - target_link_libraries(alpaka INTERFACE std::mdspan) - target_compile_definitions(alpaka INTERFACE ALPAKA_USE_MDSPAN) -elseif (alpaka_USE_MDSPAN STREQUAL "FETCH") - include(FetchContent) - FetchContent_Declare( - mdspan - GIT_REPOSITORY https://github.com/kokkos/mdspan.git - GIT_TAG 973ef6415a6396e5f0a55cb4c99afd1d1d541681 - ) - # we don't use FetchContent_MakeAvailable(mdspan) since it would also install mdspan - # see also: https://stackoverflow.com/questions/65527126/how-to-disable-installation-a-fetchcontent-dependency - FetchContent_GetProperties(mdspan) - if(NOT mdspan_POPULATED) - FetchContent_Populate(mdspan) - if(${CMAKE_VERSION} VERSION_LESS "3.25.0") - add_subdirectory(${mdspan_SOURCE_DIR} ${mdspan_BINARY_DIR} EXCLUDE_FROM_ALL) - else() - add_subdirectory(${mdspan_SOURCE_DIR} ${mdspan_BINARY_DIR} EXCLUDE_FROM_ALL SYSTEM) - endif() - endif() - if(${CMAKE_VERSION} VERSION_LESS "3.25.0") - get_target_property(mdspan_include_dir std::mdspan INTERFACE_INCLUDE_DIRECTORIES) - target_include_directories(alpaka SYSTEM INTERFACE ${mdspan_include_dir}) - else() - target_link_libraries(alpaka INTERFACE std::mdspan) - endif() - target_compile_definitions(alpaka INTERFACE ALPAKA_USE_MDSPAN) -elseif (alpaka_USE_MDSPAN STREQUAL "OFF") -else() - message(FATAL_ERROR "Invalid option for alpaka_USE_MDSPAN") -endif() - -if (NOT alpaka_USE_MDSPAN STREQUAL "OFF") - if (MSVC AND (alpaka_CXX_STANDARD LESS 20)) - message(WARNING "std::mdspan on MSVC requires C++20. Please enable C++20 via alpaka_CXX_STANDARD. Use of std::mdspan has been disabled.") - set(alpaka_USE_MDSPAN "OFF" CACHE STRING "Use std::mdspan with alpaka" FORCE) - endif () - - if (alpaka_ACC_GPU_CUDA_ENABLE AND (CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA") AND (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")) - # this issue actually only occurs when the host compiler (not the CXX compiler) is clang, but cmake does not let us query the host compiler id - # see: https://gitlab.kitware.com/cmake/cmake/-/issues/20901 - message(WARNING "std::mdspan does not work with nvcc and clang as host compiler. Use of std::mdspan has been disabled.") - set(alpaka_USE_MDSPAN "OFF" CACHE STRING "Use std::mdspan with alpaka" FORCE) - endif () - - if (alpaka_ACC_GPU_CUDA_ENABLE AND (NOT alpaka_CUDA_EXPT_EXTENDED_LAMBDA STREQUAL ON)) - message(WARNING "std::mdspan requires nvcc's extended lambdas. Use of std::mdspan has been disabled.") - set(alpaka_USE_MDSPAN "OFF" CACHE STRING "Use std::mdspan with alpaka" FORCE) - endif() -endif() diff --git a/alpaka/cmake/alpakaConfig.cmake.in b/alpaka/cmake/alpakaConfig.cmake.in deleted file mode 100644 index a843faeb..00000000 --- a/alpaka/cmake/alpakaConfig.cmake.in +++ /dev/null @@ -1,65 +0,0 @@ -# -# Copyright 2021 Benjamin Worpitz, Erik Zenker, Axel Huebl, Jan Stephan, Bernhard Manfred Gruber -# SPDX-License-Identifier: MPL-2.0 -# - -@PACKAGE_INIT@ - -################################################################################ -# alpaka. - -set(alpaka_DEBUG "0" CACHE STRING "Debug level") -set_property(CACHE alpaka_DEBUG PROPERTY STRINGS "0;1;2") - -#------------------------------------------------------------------------------- -# Common. - -# This file's directory. -set(_alpaka_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}) -# Normalize the path (e.g. remove ../) -get_filename_component(_alpaka_ROOT_DIR ${_alpaka_ROOT_DIR} ABSOLUTE) - -# Compiler feature tests. -set(_alpaka_FEATURE_TESTS_DIR "${_alpaka_ROOT_DIR}/tests") - -# Add common functions. -set(_alpaka_COMMON_FILE "${_alpaka_ROOT_DIR}/common.cmake") -include(${_alpaka_COMMON_FILE}) - -# Add alpaka_ADD_EXECUTABLE function. -set(_alpaka_ADD_EXECUTABLE_FILE "${_alpaka_ROOT_DIR}/addExecutable.cmake") -include(${_alpaka_ADD_EXECUTABLE_FILE}) - -# Add alpaka_ADD_LIBRARY function. -set(_alpaka_ADD_LIBRARY_FILE "${_alpaka_ROOT_DIR}/addLibrary.cmake") -include(${_alpaka_ADD_LIBRARY_FILE}) - -# Set found to true initially and set it to false if a required dependency is missing. -set(_alpaka_FOUND TRUE) - -set(_alpaka_INCLUDE_DIRECTORY "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@") - -include("${CMAKE_CURRENT_LIST_DIR}/alpakaCommon.cmake") - -check_required_components("alpaka") - -# Unset already set variables if not found. -if(NOT _alpaka_FOUND) - unset(_alpaka_FOUND) - unset(_alpaka_COMPILE_OPTIONS_PUBLIC) - unset(_alpaka_COMPILE_DEFINITIONS_HIP) - unset(_alpaka_HIP_LIBRARIES) - unset(_alpaka_INCLUDE_DIRECTORY) - unset(_alpaka_ADD_EXECUTABLE_FILE) - unset(_alpaka_ADD_LIBRARY_FILE) - unset(_alpaka_BOOST_MIN_VER) -else() - # Make internal variables advanced options in the GUI. - mark_as_advanced( - _alpaka_COMPILE_OPTIONS_PUBLIC - _alpaka_INCLUDE_DIRECTORY - _alpaka_COMMON_FILE - _alpaka_ADD_EXECUTABLE_FILE - _alpaka_ADD_LIBRARY_FILE - _alpaka_BOOST_MIN_VER) -endif() diff --git a/alpaka/cmake/common.cmake b/alpaka/cmake/common.cmake deleted file mode 100644 index 930a4594..00000000 --- a/alpaka/cmake/common.cmake +++ /dev/null @@ -1,204 +0,0 @@ -# -# Copyright 2014-2019 Benjamin Worpitz -# SPDX-License-Identifier: MPL-2.0 -# - -#------------------------------------------------------------------------------ -# Gets all recursive files with the given ending in the given directory and recursively below. -# This makes adding files easier because we do not have to update a list each time a file is added but this prevents CMake from detecting if it should be rerun! -FUNCTION(append_recursive_files In_RootDir In_FileExtension Out_FilePathsListVariableName) - #MESSAGE("In_RootDir: ${In_RootDir}") - #MESSAGE("In_FileExtension: ${In_FileExtension}") - #MESSAGE("Out_FilePathsListVariableName: ${Out_FilePathsListVariableName}") - # Get all recursive files. - FILE( - GLOB_RECURSE - relativeFilePathsList - "${In_RootDir}/*.${In_FileExtension}") - #MESSAGE( "relativeFilePathsList: ${relativeFilePathsList}" ) - # Set the return value (append it to the value in the parent scope). - SET( - ${Out_FilePathsListVariableName} - "${${Out_FilePathsListVariableName}}" "${relativeFilePathsList}" - PARENT_SCOPE) -ENDFUNCTION() - -#------------------------------------------------------------------------------ -# Gets all recursive relative subdirectories. -FUNCTION(append_recursive_relative_subdirs In_RootDir Out_RecursiveRelativeSubDirsVariableName) - #MESSAGE("In_RootDir: ${In_RootDir}") - # Get all the recursive files with their relative paths. - FILE( - GLOB_RECURSE - recursiveRelativeFiles - RELATIVE "${In_RootDir}/" "${In_RootDir}/*") - #MESSAGE("recursiveRelativeFiles: ${recursiveRelativeFiles}") - - # Get the paths to all the recursive files. - # Create empty list for the case of no subdirectories being present. - SET(recursiveRelativeSubDirs) - FOREACH( - relativeFilePath - IN LISTS recursiveRelativeFiles) - GET_FILENAME_COMPONENT( - relativeSubDir - "${relativeFilePath}" - PATH) - LIST( - APPEND - recursiveRelativeSubDirs - "${relativeSubDir}") - ENDFOREACH() - #MESSAGE("recursiveRelativeSubDirs: ${recursiveRelativeSubDirs}") - - # If the list is not empty. - LIST( - LENGTH - recursiveRelativeSubDirs - recursiveRelativeSubDirsLength) - IF("${recursiveRelativeSubDirsLength}") - # Remove duplicates from the list. - LIST( - REMOVE_DUPLICATES - recursiveRelativeSubDirs) - #MESSAGE("recursiveRelativeSubDirs: ${recursiveRelativeSubDirs}") - - # Set the return value (append it to the value in the parent scope). - #MESSAGE("Out_RecursiveRelativeSubDirsVariableName: ${Out_RecursiveRelativeSubDirsVariableName}") - SET( - ${Out_RecursiveRelativeSubDirsVariableName} - "${${Out_RecursiveRelativeSubDirsVariableName}}" "${recursiveRelativeSubDirs}" - PARENT_SCOPE) - ENDIF() -ENDFUNCTION() - -#------------------------------------------------------------------------------ -# Groups the files in the same way the directories are structured. -FUNCTION(add_recursive_files_to_src_group In_RootDir In_SrcGroupIgnorePrefix In_FileExtension) - #MESSAGE("In_RootDir: ${In_RootDir}") - #MESSAGE("In_SrcGroupIgnorePrefix: ${In_SrcGroupIgnorePrefix}") - #MESSAGE("In_FileExtension: ${In_FileExtension}") - SET(recursiveRelativeSubDirs) - # Get all recursive subdirectories. - append_recursive_relative_subdirs( - "${In_RootDir}" - recursiveRelativeSubDirs) - #MESSAGE("recursiveRelativeSubDirs: ${recursiveRelativeSubDirs}") - - # For the folder itself and each sub-folder... - FOREACH( - currentRelativeSubDir - IN - LISTS recursiveRelativeSubDirs - ITEMS "") - # Appended the current subdirectory. - IF(currentRelativeSubDir STREQUAL "") - SET( - currentSubDir - "${In_RootDir}") - ELSE() - SET( - currentSubDir - "${In_RootDir}/${currentRelativeSubDir}") - ENDIF() - #MESSAGE("currentSubDir: ${currentSubDir}") - # Get all the files in this sub-folder. - SET( - wildcardFilePath - "${currentSubDir}/*.${In_FileExtension}") - #MESSAGE("wildcardFilePath: ${wildcardFilePath}") - FILE( - GLOB - filesInSubDirList - "${wildcardFilePath}") - #MESSAGE("filesInSubDirList: ${filesInSubDirList}") - - LIST( - LENGTH - filesInSubDirList - filesInSubDirListLength) - IF("${filesInSubDirListLength}") - # Group the include files into a project sub-folder analogously to the filesystem hierarchy. - SET( - groupExpression - "${currentSubDir}") - #MESSAGE("groupExpression: ${groupExpression}") - # Remove the parent directory from the path. - # NOTE: This is not correct because it does not only replace at the beginning of the string. - # "STRING(REGEX REPLACE" would be correct if there was an easy way to escape arbitrary strings. - STRING( - REPLACE "${In_SrcGroupIgnorePrefix}" "" - groupExpression - "${groupExpression}") - # Remove leading slash. - STRING( - REGEX REPLACE "^/" "" - groupExpression - "${groupExpression}") - #MESSAGE("groupExpression: ${groupExpression}") - # Replace the directory separators in the path to build valid grouping expressions. - STRING( - REPLACE "/" "\\" - groupExpression - "${groupExpression}") - #MESSAGE("groupExpression: ${groupExpression}") - SOURCE_GROUP( - "${groupExpression}" - FILES ${filesInSubDirList}) - ENDIF() - ENDFOREACH() -ENDFUNCTION() - -#------------------------------------------------------------------------------ -# Gets all files with the given ending in the given directory. -# Groups the files in the same way the directories are structured. -# This makes adding files easier because we do not have to update a list each time a file is added but this prevents CMake from detecting if it should be rerun! -FUNCTION(append_recursive_files_add_to_src_group In_RootDir In_SrcGroupIgnorePrefix In_FileExtension Out_FilePathsListVariableName) - #MESSAGE("In_RootDir: ${In_RootDir}") - #MESSAGE("In_SrcGroupIgnorePrefix: ${In_SrcGroupIgnorePrefix}") - #MESSAGE("In_FileExtension: ${In_FileExtension}") - #MESSAGE("Out_FilePathsListVariableName: ${Out_FilePathsListVariableName}") - # We have to use a local variable and give it to the parent because append_recursive_files only gives it to our scope but not the one calling this function. - SET( - allFilePathsList - "${${Out_FilePathsListVariableName}}") - append_recursive_files( - "${In_RootDir}" - "${In_FileExtension}" - allFilePathsList) - #MESSAGE( "allFilePathsList: ${allFilePathsList}" ) - # Set the return value (append it to the value in the parent scope). - SET( - ${Out_FilePathsListVariableName} - "${${Out_FilePathsListVariableName}}" "${allFilePathsList}" - PARENT_SCOPE) - - add_recursive_files_to_src_group( - "${In_RootDir}" - "${In_SrcGroupIgnorePrefix}" - "${In_FileExtension}") -ENDFUNCTION() - -#------------------------------------------------------------------------------ -# void list_add_prefix(string In_Prefix, list* In_ListVariableName); -# - returns The In_ListVariableName with In_Prefix prepended to all items. -# - original list is modified -FUNCTION(list_add_prefix In_Prefix In_ListVariableName) - SET(local_list) - - FOREACH( - item - IN LISTS ${In_ListVariableName}) - IF(NOT "${item}" STREQUAL "") - LIST( - APPEND - local_list - "${In_Prefix}${item}") - ENDIF() - ENDFOREACH() - - SET( - ${In_ListVariableName} - "${local_list}" - PARENT_SCOPE) -ENDFUNCTION() diff --git a/alpaka/cmake/tests/MathConstants.cpp b/alpaka/cmake/tests/MathConstants.cpp deleted file mode 100644 index 6bc3d752..00000000 --- a/alpaka/cmake/tests/MathConstants.cpp +++ /dev/null @@ -1,15 +0,0 @@ -/* Copyright 2022 Jan Stephan - * SPDX-License-Identifier: MPL-2.0 - */ - -#include -#include - -#if !defined(__cpp_lib_math_constants) -# error "Mathematical constants not supported!" -#endif - -auto main() -> int -{ - return EXIT_SUCCESS; -} diff --git a/alpaka/cmake/tests/StdAtomicRef.cpp b/alpaka/cmake/tests/StdAtomicRef.cpp deleted file mode 100644 index 7763f20d..00000000 --- a/alpaka/cmake/tests/StdAtomicRef.cpp +++ /dev/null @@ -1,15 +0,0 @@ -/* Copyright 2022 Jan Stephan - * SPDX-License-Identifier: MPL-2.0 - */ - -#include -#include - -#if !defined(__cpp_lib_atomic_ref) -# error "std::atomic_ref not supported!" -#endif - -auto main() -> int -{ - return EXIT_SUCCESS; -} diff --git a/alpaka/docs/Doxyfile b/alpaka/docs/Doxyfile deleted file mode 100644 index 203f77fc..00000000 --- a/alpaka/docs/Doxyfile +++ /dev/null @@ -1,2573 +0,0 @@ -# Doxyfile 1.8.16 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a double hash (##) is considered a comment and is placed in -# front of the TAG it is preceding. -# -# All text after a single hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists, items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (\" \"). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the configuration -# file that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# https://www.gnu.org/software/libiconv/ for the list of possible encodings. -# The default value is: UTF-8. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by -# double-quotes, unless you are using Doxywizard) that should identify the -# project for which the documentation is generated. This name is used in the -# title of most generated pages and in a few other places. -# The default value is: My Project. - -PROJECT_NAME = alpaka - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. This -# could be handy for archiving the generated documentation or if some version -# control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a -# quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = "Abstraction Library for Parallel Kernel Acceleration" - -# With the PROJECT_LOGO tag one can specify a logo or an icon that is included -# in the documentation. The maximum height of the logo should not exceed 55 -# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy -# the logo to the output directory. - -PROJECT_LOGO = logo/alpaka_doxygen.png - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path -# into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If -# left blank the current directory will be used. - -OUTPUT_DIRECTORY = doxygen/ - -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. -# The default value is: NO. - -CREATE_SUBDIRS = NO - -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII -# characters to appear in the names of generated files. If set to NO, non-ASCII -# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode -# U+3044. -# The default value is: NO. - -ALLOW_UNICODE_NAMES = YES - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. -# The default value is: English. - -OUTPUT_LANGUAGE = English - -# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all generated output in the proper direction. -# Possible values are: None, LTR, RTL and Context. -# The default value is: None. - -OUTPUT_TEXT_DIRECTION = None - -# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member -# descriptions after the members that are listed in the file and class -# documentation (similar to Javadoc). Set to NO to disable this. -# The default value is: YES. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief -# description of a member or function before the detailed description -# -# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. -# The default value is: YES. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator that is -# used to form the text in various listings. Each string in this list, if found -# as the leading text of the brief description, will be stripped from the text -# and the result, after processing the whole list, is used as the annotated -# text. Otherwise, the brief description is used as-is. If left blank, the -# following values are used ($name is automatically replaced with the name of -# the entity):The $name class, The $name widget, The $name file, is, provides, -# specifies, contains, represents, a, an and the. - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief -# description. -# The default value is: NO. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. -# The default value is: NO. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path -# before files name in the file list and in the header files. If set to NO the -# shortest path that makes the file name unique will be used -# The default value is: YES. - -FULL_PATH_NAMES = YES - -# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. -# Stripping is only done if one of the specified strings matches the left-hand -# part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to -# strip. -# -# Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. -# This tag requires that the tag FULL_PATH_NAMES is set to YES. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the -# path mentioned in the documentation of a class, which tells the reader which -# header file to include in order to use a class. If left blank only the name of -# the header file containing the class definition is used. Otherwise one should -# specify the list of include paths that are normally passed to the compiler -# using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't -# support long names like on DOS, Mac, or CD-ROM. -# The default value is: NO. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) -# The default value is: NO. - -JAVADOC_AUTOBRIEF = NO - -# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line -# such as -# /*************** -# as being the beginning of a Javadoc-style comment "banner". If set to NO, the -# Javadoc-style will behave just like regular comments and it will not be -# interpreted by doxygen. -# The default value is: NO. - -JAVADOC_BANNER = NO - -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) -# The default value is: NO. - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a -# multi-line C++ special comment block (i.e. a block of //! or /// comments) as -# a brief description. This used to be the default behavior. The new default is -# to treat a multi-line C++ comment block as a detailed description. Set this -# tag to YES if you prefer the old behavior instead. -# -# Note that setting this tag to YES also means that rational rose comments are -# not recognized any more. -# The default value is: NO. - -MULTILINE_CPP_IS_BRIEF = YES - -# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the -# documentation from any documented member that it re-implements. -# The default value is: YES. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new -# page for each member. If set to NO, the documentation of a member will be part -# of the file/class/namespace that contains it. -# The default value is: NO. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen -# uses this value to replace tabs by spaces in code fragments. -# Minimum value: 1, maximum value: 16, default value: 4. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that act as commands in -# the documentation. An alias has the form: -# name=value -# For example adding -# "sideeffect=@par Side Effects:\n" -# will allow you to put the command \sideeffect (or @sideeffect) in the -# documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines (in the resulting output). You can put ^^ in the value part of an -# alias to insert a newline as if a physical newline was in the original file. -# When you need a literal { or } or , in the value part of an alias you have to -# escape them by means of a backslash (\), this can lead to conflicts with the -# commands \{ and \} for these it is advised to use the version @{ and @} or use -# a double escape (\\{ and \\}) - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. For -# instance, some of the names that are used will be different. The list of all -# members will be omitted, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or -# Python sources only. Doxygen will then generate output that is more tailored -# for that language. For instance, namespaces will be presented as packages, -# qualified scopes will look different, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources. Doxygen will then generate output that is tailored for Fortran. -# The default value is: NO. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for VHDL. -# The default value is: NO. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice -# sources only. Doxygen will then generate output that is more tailored for that -# language. For instance, namespaces will be presented as modules, types will be -# separated into more groups, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_SLICE = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, -# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: -# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser -# tries to guess whether the code is fixed or free formatted code, this is the -# default for Fortran type files), VHDL, tcl. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is -# Fortran), use: inc=Fortran f=C. -# -# Note: For files without extension you can use no_extension as a placeholder. -# -# Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments -# according to the Markdown format, which allows for more readable -# documentation. See https://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in -# case of backward compatibilities issues. -# The default value is: YES. - -MARKDOWN_SUPPORT = YES - -# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up -# to that level are automatically included in the table of contents, even if -# they do not have an id attribute. -# Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 5. -# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. - -TOC_INCLUDE_HEADINGS = 0 - -# When enabled doxygen tries to link words that correspond to documented -# classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. -# The default value is: YES. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. -# The default value is: NO. - -BUILTIN_STL_SUPPORT = YES - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. -# The default value is: NO. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen -# will parse them like normal C++ but will assume all classes use public instead -# of private inheritance when no explicit protection keyword is present. -# The default value is: NO. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. -# This will only work if the methods are indeed getting or setting a simple -# type. If this is not the case, or you want to show the methods anyway, you -# should set this option to NO. -# The default value is: YES. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. -# The default value is: NO. - -DISTRIBUTE_GROUP_DOC = NO - -# If one adds a struct or class to a group and this option is enabled, then also -# any nested class or struct is added to the same group. By default this option -# is disabled and one has to add nested compounds explicitly via \ingroup. -# The default value is: NO. - -GROUP_NESTED_COMPOUNDS = NO - -# Set the SUBGROUPING tag to YES to allow class member groups of the same type -# (for instance a group of public functions) to be put as a subgroup of that -# type (e.g. under the Public Functions section). Set it to NO to prevent -# subgrouping. Alternatively, this can be done per class using the -# \nosubgrouping command. -# The default value is: YES. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions -# are shown inside the group in which they are included (e.g. using \ingroup) -# instead of on a separate page (for HTML and Man pages) or section (for LaTeX -# and RTF). -# -# Note that this feature does not work in combination with -# SEPARATE_MEMBER_PAGES. -# The default value is: NO. - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions -# with only public data fields or simple typedef fields will be shown inline in -# the documentation of the scope in which they are defined (i.e. file, -# namespace, or group documentation), provided this scope is documented. If set -# to NO, structs, classes, and unions are shown on a separate page (for HTML and -# Man pages) or section (for LaTeX and RTF). -# The default value is: NO. - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or -# enum is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically be -# useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. -# The default value is: NO. - -TYPEDEF_HIDES_STRUCT = NO - -# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This -# cache is used to resolve symbols given their name and scope. Since this can be -# an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The -# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range -# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest -# the optimal cache size from a speed point of view. -# Minimum value: 0, maximum value: 9, default value: 0. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in -# documentation are documented, even if no documentation was available. Private -# class members and static file members will be hidden unless the -# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. -# Note: This will also disable the warnings about undocumented members that are -# normally produced when WARNINGS is set to YES. -# The default value is: NO. - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will -# be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual -# methods of a class will be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIV_VIRTUAL = NO - -# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal -# scope will be included in the documentation. -# The default value is: NO. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be -# included in the documentation. -# The default value is: NO. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO, -# only classes defined in header files are included. Does not have any effect -# for Java sources. -# The default value is: YES. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. If set to YES, local methods, -# which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO, only methods in the interface are -# included. -# The default value is: NO. - -EXTRACT_LOCAL_METHODS = YES - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base name of -# the file that contains the anonymous namespace. By default anonymous namespace -# are hidden. -# The default value is: NO. - -EXTRACT_ANON_NSPACES = YES - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all -# undocumented members inside documented classes or files. If set to NO these -# members will be included in the various overviews, but no documentation -# section is generated. This option has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. If set -# to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO, these declarations will be -# included in the documentation. -# The default value is: NO. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO, these -# blocks will be appended to the function's detailed documentation block. -# The default value is: NO. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation that is typed after a -# \internal command is included. If the tag is set to NO then the documentation -# will be excluded. Set it to YES to include the internal documentation. -# The default value is: NO. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# (including Cygwin) ands Mac users are advised to set this option to NO. -# The default value is: system dependent. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES, the -# scope will be hidden. -# The default value is: NO. - -HIDE_SCOPE_NAMES = NO - -# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will -# append additional text to a page's title, such as Class Reference. If set to -# YES the compound reference will be hidden. -# The default value is: NO. - -HIDE_COMPOUND_REFERENCE= NO - -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of -# the files that are included by a file in the documentation of that file. -# The default value is: YES. - -SHOW_INCLUDE_FILES = YES - -# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each -# grouped member an include statement to the documentation, telling the reader -# which file to include in order to use the member. -# The default value is: NO. - -SHOW_GROUPED_MEMB_INC = NO - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include -# files with double quotes in the documentation rather than with sharp brackets. -# The default value is: NO. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the -# documentation for inline members. -# The default value is: YES. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the -# (detailed) documentation of file and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. -# The default value is: YES. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief -# descriptions of file, namespace and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. Note that -# this will also influence the order of the classes in the class list. -# The default value is: NO. - -SORT_BRIEF_DOCS = YES - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the -# (brief and detailed) documentation of class members so that constructors and -# destructors are listed first. If set to NO the constructors will appear in the -# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. -# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief -# member documentation. -# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting -# detailed member documentation. -# The default value is: NO. - -SORT_MEMBERS_CTORS_1ST = YES - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy -# of group names into alphabetical order. If set to NO the group names will -# appear in their defined order. -# The default value is: NO. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by -# fully-qualified names, including namespaces. If set to NO, the class list will -# be sorted only by class name, not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the alphabetical -# list. -# The default value is: NO. - -SORT_BY_SCOPE_NAME = YES - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper -# type resolution of all parameters of a function it will reject a match between -# the prototype and the implementation of a member function even if there is -# only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still -# accept a match between prototype and implementation in such cases. -# The default value is: NO. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo -# list. This list is created by putting \todo commands in the documentation. -# The default value is: YES. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test -# list. This list is created by putting \test commands in the documentation. -# The default value is: YES. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug -# list. This list is created by putting \bug commands in the documentation. -# The default value is: YES. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) -# the deprecated list. This list is created by putting \deprecated commands in -# the documentation. -# The default value is: YES. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional documentation -# sections, marked by \if ... \endif and \cond -# ... \endcond blocks. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the -# initial value of a variable or macro / define can have for it to appear in the -# documentation. If the initializer consists of more lines than specified here -# it will be hidden. Use a value of 0 to hide initializers completely. The -# appearance of the value of individual variables and macros / defines can be -# controlled using \showinitializer or \hideinitializer command in the -# documentation regardless of this setting. -# Minimum value: 0, maximum value: 10000, default value: 30. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES, the -# list will mention the files that were used to generate the documentation. -# The default value is: YES. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This -# will remove the Files entry from the Quick Index and from the Folder Tree View -# (if specified). -# The default value is: YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces -# page. This will remove the Namespaces entry from the Quick Index and from the -# Folder Tree View (if specified). -# The default value is: YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command command input-file, where command is the value of the -# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file -# version. For an example see the documentation. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can -# optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. -# -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE -# tag is left empty. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files containing -# the reference definitions. This must be a list of .bib files. The .bib -# extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. -# For LaTeX the style of the bibliography can be controlled using -# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. See also \cite for info how to create references. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# Configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the -# messages are off. -# The default value is: NO. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES -# this implies that the warnings are on. -# -# Tip: Turn warnings on while writing the documentation. -# The default value is: YES. - -WARNINGS = YES - -# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate -# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag -# will automatically be disabled. -# The default value is: YES. - -WARN_IF_UNDOCUMENTED = YES - -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. -# The default value is: YES. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that -# are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. If -# EXTRACT_ALL is set to YES then this flag will automatically be disabled. -# The default value is: NO. - -WARN_NO_PARAMDOC = YES - -# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. -# The default value is: NO. - -WARN_AS_ERROR = NO - -# The WARN_FORMAT tag determines the format of the warning messages that doxygen -# can produce. The string should contain the $file, $line, and $text tags, which -# will be replaced by the file and line number from which the warning originated -# and the warning text. Optionally the format may contain $version, which will -# be replaced by the version of the file (if it could be obtained via -# FILE_VERSION_FILTER) -# The default value is: $file:$line: $text. - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning and error -# messages should be written. If left blank the output is written to standard -# error (stderr). - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# Configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag is used to specify the files and/or directories that contain -# documented source files. You may enter file names like myfile.cpp or -# directories like /usr/src/myproject. Separate the files or directories with -# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING -# Note: If this tag is empty the current directory is searched. - -INPUT = ../include/ \ - ../README.md - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses -# libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: https://www.gnu.org/software/libiconv/) for the list of -# possible encodings. -# The default value is: UTF-8. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# read by doxygen. -# -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, -# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, -# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.idl \ - *.ddl \ - *.odl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.cs \ - *.d \ - *.php \ - *.php4 \ - *.php5 \ - *.phtml \ - *.inc \ - *.m \ - *.markdown \ - *.md \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.for \ - *.tcl \ - *.vhd \ - *.vhdl \ - *.ucf \ - *.qsf \ - *.as \ - *.js \ - *.c \ - *.cu - -# The RECURSIVE tag can be used to specify whether or not subdirectories should -# be searched for input files as well. -# The default value is: NO. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. -# The default value is: NO. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or directories -# that contain example code fragments that are included (see the \include -# command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank all -# files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude commands -# irrespective of the value of the RECURSIVE tag. -# The default value is: NO. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or directories -# that contain images that are to be included in the documentation (see the -# \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command: -# -# -# -# where is the value of the INPUT_FILTER tag, and is the -# name of an input file. Doxygen will then use the output that the filter -# program writes to standard output. If FILTER_PATTERNS is specified, this tag -# will be ignored. -# -# Note that the filter must not add or remove lines; it is applied before the -# code is scanned, but not when the output code is generated. If lines are added -# or removed, the anchors will not be placed correctly. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: pattern=filter -# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how -# filters are used. If the FILTER_PATTERNS tag is empty or if none of the -# patterns match the file name, INPUT_FILTER is applied. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will also be used to filter the input files that are used for -# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). -# The default value is: NO. - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and -# it is also possible to disable source filtering for a specific pattern using -# *.ext= (so without naming a filter). -# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page -# (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = ../README.md - -#--------------------------------------------------------------------------- -# Configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will be -# generated. Documented entities will be cross-referenced with these sources. -# -# Note: To get rid of all source code in the generated output, make sure that -# also VERBATIM_HEADERS is set to NO. -# The default value is: NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body of functions, -# classes and enums directly into the documentation. -# The default value is: NO. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any -# special comment blocks from generated source code fragments. Normal C, C++ and -# Fortran comments will always remain visible. -# The default value is: YES. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# entity all documented functions referencing it will be listed. -# The default value is: NO. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES then for each documented function -# all documented entities called/used by that function will be listed. -# The default value is: NO. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES then the hyperlinks from functions in REFERENCES_RELATION and -# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will -# link to the documentation. -# The default value is: YES. - -REFERENCES_LINK_SOURCE = YES - -# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the -# source code will show a tooltip with additional information such as prototype, -# brief description and links to the definition and documentation. Since this -# will make the HTML file larger and loading of large files a bit slower, you -# can opt to disable this feature. -# The default value is: YES. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -SOURCE_TOOLTIPS = YES - -# If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in -# source browser. The htags tool is part of GNU's global source tagging system -# (see https://www.gnu.org/software/global/global.html). You will need version -# 4.8.6 or higher. -# -# To use it do the following: -# - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file -# - Make sure the INPUT points to the root of the source tree -# - Run doxygen as normal -# -# Doxygen will invoke htags (and that will in turn invoke gtags), so these -# tools must be available from the command line (i.e. in the search path). -# -# The result: instead of the source browser generated by doxygen, the links to -# source code will now point to the output of htags. -# The default value is: NO. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a -# verbatim copy of the header file for each class for which an include is -# specified. Set to NO to disable this. -# See also: Section \class. -# The default value is: YES. - -VERBATIM_HEADERS = YES - -# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. -# Note: The availability of this option depends on whether or not doxygen was -# generated with the -Duse_libclang=ON option for CMake. -# The default value is: NO. - -CLANG_ASSISTED_PARSING = NO - -# If clang assisted parsing is enabled you can provide the compiler with command -# line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories -# specified with INPUT and INCLUDE_PATH. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -CLANG_OPTIONS = - -# If clang assisted parsing is enabled you can provide the clang parser with the -# path to the compilation database (see: -# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) used when the files -# were built. This is equivalent to specifying the "-p" option to a clang tool, -# such as clang-check. These options will then be passed to the parser. -# Note: The availability of this option depends on whether or not doxygen was -# generated with the -Duse_libclang=ON option for CMake. - -CLANG_DATABASE_PATH = - -#--------------------------------------------------------------------------- -# Configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all -# compounds will be generated. Enable this if the project contains a lot of -# classes, structs, unions or interfaces. -# The default value is: YES. - -ALPHABETICAL_INDEX = NO - -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output -# The default value is: YES. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a -# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of -# it. -# The default directory is: html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each -# generated HTML page (for example: .htm, .php, .asp). -# The default value is: .html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a -# standard header. -# -# To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. -# the setting GENERATE_TREEVIEW). It is highly recommended to start with a -# default header using -# doxygen -w html new_header.html new_footer.html new_stylesheet.css -# YourConfigFile -# and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally -# uses. -# Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description -# of the possible markers and block names see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard -# footer. See HTML_HEADER for more information on how to generate a default -# footer and what special commands can be used inside the footer. See also -# section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style -# sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. -# See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. -# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as -# it is more robust and this tag (HTML_STYLESHEET) will in the future become -# obsolete. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined -# cascading style sheets that are included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. -# This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefore more robust against future updates. -# Doxygen will copy the style sheet files to the output directory. -# Note: The order of the extra style sheet files is of importance (e.g. the last -# style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that the -# files will be copied as-is; there are no commands or markers available. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# https://en.wikipedia.org/wiki/Hue for more information. For instance the value -# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 -# purple, and 360 is red again. -# Minimum value: 0, maximum value: 359, default value: 220. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A -# value of 255 will produce the most vivid colors. -# Minimum value: 0, maximum value: 255, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the -# luminance component of the colors in the HTML output. Values below 100 -# gradually make the output lighter, whereas values above 100 make the output -# darker. The value divided by 100 is the actual gamma applied, so 80 represents -# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not -# change the gamma. -# Minimum value: 40, maximum value: 240, default value: 80. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML -# documentation will contain a main index with vertical navigation menus that -# are dynamically created via Javascript. If disabled, the navigation index will -# consists of multiple levels of tabs that are statically embedded in every HTML -# page. Disable this option to support browsers that do not have Javascript, -# like the Qt help browser. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_MENUS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_SECTIONS = YES - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries -# shown in the various tree structured indices initially; the user can expand -# and collapse entries dynamically later on. Doxygen will expand the tree to -# such a level that at most the specified number of entries are visible (unless -# a fully collapsed tree already exceeds this amount). So setting the number of -# entries 1 will produce a full collapsed tree by default. 0 is a special value -# representing an infinite number of entries and will result in a full expanded -# tree by default. -# Minimum value: 0, maximum value: 9999, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files will be -# generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: https://developer.apple.com/xcode/), introduced with OSX -# 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy -# genXcode/_index.html for more information. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_DOCSET = NO - -# This tag determines the name of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# The default value is: Doxygen generated docs. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# This tag specifies a string that should uniquely identify the documentation -# set bundle. This should be a reverse domain-name style string, e.g. -# com.mycompany.MyDocSet. Doxygen will append .docset to the name. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. -# The default value is: org.doxygen.Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. -# The default value is: Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three -# additional HTML index files: index.hhp, index.hhc, and index.hhk. The -# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. -# -# The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML -# files are now used as the Windows 98 help format, and will replace the old -# Windows help format (.hlp) on all Windows platforms in the future. Compressed -# HTML files also contain an index, a table of contents, and you can search for -# words in the documentation. The HTML workshop also contains a viewer for -# compressed HTML files. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_HTMLHELP = NO - -# The CHM_FILE tag can be used to specify the file name of the resulting .chm -# file. You can add a path in front of the file if the result should not be -# written to the html output directory. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_FILE = - -# The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler (hhc.exe). If non-empty, -# doxygen will try to run the HTML help compiler on the generated index.hhp. -# The file has to be specified with full path. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -HHC_LOCATION = - -# The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -GENERATE_CHI = NO - -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) -# and project file content. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_INDEX_ENCODING = - -# The BINARY_TOC flag controls whether a binary table of contents is generated -# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it -# enables the Previous and Next buttons. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members to -# the table of contents of the HTML help documentation and to the tree view. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that -# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help -# (.qch) of the generated HTML documentation. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify -# the file name of the resulting .qch file. The path specified is relative to -# the HTML output folder. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help -# Project output. For more information please see Qt Help Project / Namespace -# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt -# Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual- -# folders). -# The default value is: doc. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_VIRTUAL_FOLDER = doc - -# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom -# filter to add. For more information please see Qt Help Project / Custom -# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's filter section matches. Qt Help Project / Filter Attributes (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_SECT_FILTER_ATTRS = - -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be -# generated, together with the HTML files, they form an Eclipse help plugin. To -# install this plugin and make it available under the help contents menu in -# Eclipse, the contents of the directory containing the HTML and XML files needs -# to be copied into the plugins directory of eclipse. The name of the directory -# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. -# After copying Eclipse needs to be restarted before the help appears. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the Eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have this -# name. Each documentation set should have its own identifier. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# If you want full control over the layout of the generated HTML pages it might -# be necessary to disable the index and replace it with your own. The -# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top -# of each HTML page. A value of NO enables the index and the value YES disables -# it. Since the tabs in the index contain the same information as the navigation -# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. If the tag -# value is set to YES, a side panel will be generated containing a tree-like -# index structure (just like the one that is generated for HTML Help). For this -# to work a browser that supports JavaScript, DHTML, CSS and frames is required -# (i.e. any modern browser). Windows users are probably better off using the -# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_TREEVIEW = YES - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. -# -# Note that a value of 0 will completely suppress the enum values from appearing -# in the overview section. -# Minimum value: 0, maximum value: 20, default value: 4. -# This tag requires that the tag GENERATE_HTML is set to YES. - -ENUM_VALUES_PER_LINE = 1 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used -# to set the initial width (in pixels) of the frame in which the tree is shown. -# Minimum value: 0, maximum value: 1500, default value: 250. -# This tag requires that the tag GENERATE_HTML is set to YES. - -TREEVIEW_WIDTH = 250 - -# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to -# external symbols imported via tag files in a separate window. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of LaTeX formulas included as images in -# the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML -# output directory to force them to be regenerated. -# Minimum value: 8, maximum value: 50, default value: 10. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANSPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# https://www.mathjax.org) which uses client side Javascript for the rendering -# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX -# installed or if you want to formulas look prettier in the HTML output. When -# enabled you may also need to install MathJax separately and configure the path -# to it using the MATHJAX_RELPATH option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -USE_MATHJAX = NO - -# When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. -# Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. -# The default value is: HTML-CSS. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. -# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax -# extension names that should be enabled during MathJax rendering. For example -# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_EXTENSIONS = - -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an -# example see the documentation. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_CODEFILE = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and -# should work on any modern browser. Note that when using HTML help -# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) -# there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then -# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to -# search using the keyboard; to jump to the search box use + S -# (what the is depends on the OS and browser, but it is typically -# , /