6 #include <thrust/version.h>
10 #include <thrust/system/tbb/vector.h>
11 #include <thrust/iterator/retag.h>
12 #define THRUST_RETAG(x) thrust::reinterpret_tag<thrust::tbb::tag>(x)
13 #define THRUST_TAG "Threading Building Blocks"
14 #elif defined(USE_OPENMP)
16 #include <thrust/system/omp/vector.h>
17 #include <thrust/iterator/retag.h>
18 #define THRUST_RETAG(x) thrust::reinterpret_tag<thrust::omp::tag>(x)
19 #define THRUST_TAG "OpenMP"
21 #include <thrust/system/cpp/vector.h>
22 #include <thrust/iterator/retag.h>
23 #define THRUST_RETAG(x) thrust::reinterpret_tag<thrust::cpp::tag>(x)
24 #define THRUST_TAG "Plain C++"
28 switch (device_system) {
29 case THRUST_DEVICE_SYSTEM_CPP:
31 case THRUST_DEVICE_SYSTEM_CUDA:
33 case THRUST_DEVICE_SYSTEM_OMP:
35 case THRUST_DEVICE_SYSTEM_TBB: