3#include <thrust/host_vector.h>
4#include <thrust/device_vector.h>
38#if THRUST_DEVICE_SYSTEM==THRUST_DEVICE_SYSTEM_CUDA
40#elif THRUST_DEVICE_SYSTEM==THRUST_DEVICE_SYSTEM_OMP
54struct ThrustTag<SerialTag>
56 using thrust_tag = thrust::cpp::tag;
58#if THRUST_DEVICE_SYSTEM==THRUST_DEVICE_SYSTEM_CUDA
60struct ThrustTag<CudaTag>
62 using thrust_tag = thrust::cuda::tag;
64#elif THRUST_DEVICE_SYSTEM==THRUST_DEVICE_SYSTEM_OMP
66struct ThrustTag<OmpTag>
68 using thrust_tag = thrust::omp::tag;
72using get_thrust_tag =
typename ThrustTag<get_execution_policy<Vector>>::thrust_tag;
This is the namespace for all functions and classes defined and used by the discontinuous Galerkin li...
CUDA implementation.
Definition: execution_policy.h:27
OpenMP parallel execution.
Definition: execution_policy.h:28
Indicate sequential execution.
Definition: execution_policy.h:26
T value_type
Definition: tensor_traits_thrust.h:36
T value_type
Definition: tensor_traits_thrust.h:17
The vector traits.
Definition: tensor_traits.h:31
Indicate thrust/std - like behaviour.
Definition: vector_categories.h:88