CMS 3D CMS Logo

AlpakaServiceFwd.h
Go to the documentation of this file.
1 #ifndef HeterogeneousCore_AlpakaInterface_interface_AlpakaServiceFwd_h
2 #define HeterogeneousCore_AlpakaInterface_interface_AlpakaServiceFwd_h
3 
4 // Forward declaration of the alpaka accelerator namespaces and of the AlpakaService for each of them.
5 //
6 // This file is under HeterogeneousCore/AlpakaInterface to avoid introducing a dependency on
7 // HeterogeneousCore/AlpakaServices and HeterogeneousCore/AlpakaCore.
8 
9 #ifdef ALPAKA_ACC_GPU_CUDA_ENABLED
10 namespace alpaka_cuda_async {
11  class AlpakaService;
12 } // namespace alpaka_cuda_async
13 #endif // ALPAKA_ACC_GPU_CUDA_ENABLED
14 
15 #ifdef ALPAKA_ACC_GPU_HIP_ENABLED
16 namespace alpaka_rocm_async {
17  class AlpakaService;
18 } // namespace alpaka_rocm_async
19 #endif // ALPAKA_ACC_GPU_HIP_ENABLED
20 
21 #ifdef ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLED
22 namespace alpaka_serial_sync {
23  class AlpakaService;
24 } // namespace alpaka_serial_sync
25 #endif // ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLED
26 
27 #ifdef ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLED
28 namespace alpaka_tbb_async {
29  class AlpakaService;
30 } // namespace alpaka_tbb_async
31 #endif // ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLED
32 
33 #endif // HeterogeneousCore_AlpakaInterface_interface_AlpakaServiceFwd_h