alpaka
Abstraction Library for Parallel Kernel Acceleration
AccCpuSycl.hpp
Go to the documentation of this file.
1 /* Copyright 2024 Jan Stephan, Luca Ferragina, Andrea Bocci, Aurora Perego
2  * SPDX-License-Identifier: MPL-2.0
3  */
4 
5 #pragma once
6 
8 #include "alpaka/acc/Tag.hpp"
9 #include "alpaka/core/Sycl.hpp"
10 
11 #if defined(ALPAKA_ACC_SYCL_ENABLED) && defined(ALPAKA_SYCL_ONEAPI_CPU)
12 
13 namespace alpaka
14 {
15  //! The CPU SYCL accelerator.
16  //!
17  //! This accelerator allows parallel kernel execution on a oneAPI-capable CPU target device.
18  template<typename TDim, typename TIdx>
19  using AccCpuSycl = AccGenericSycl<TagCpuSycl, TDim, TIdx>;
20 
21  namespace trait
22  {
23  template<typename TDim, typename TIdx>
24  struct AccToTag<alpaka::AccCpuSycl<TDim, TIdx>>
25  {
26  using type = alpaka::TagCpuSycl;
27  };
28 
29  template<typename TDim, typename TIdx>
30  struct TagToAcc<alpaka::TagCpuSycl, TDim, TIdx>
31  {
32  using type = alpaka::AccCpuSycl<TDim, TIdx>;
33  };
34  } // namespace trait
35 
36 } // namespace alpaka
37 
38 #endif
The alpaka accelerator library.
typename trait::AccToTag< TAcc >::type AccToTag
maps an acc type to a tag type
Definition: Tag.hpp:67
typename trait::TagToAcc< TTag, TDim, TIdx >::type TagToAcc
maps a tag type to an acc type
Definition: Tag.hpp:74