44 #ifndef KOKKOS_QTHREADS_HPP
45 #define KOKKOS_QTHREADS_HPP
47 #include <Kokkos_Macros.hpp>
48 #if defined( KOKKOS_ENABLE_QTHREADS )
50 #include <Kokkos_Core_fwd.hpp>
53 #define QTHREAD_LOCAL_PRIORITY
61 #include <Kokkos_HostSpace.hpp>
62 #include <Kokkos_ScratchSpace.hpp>
68 #include <impl/Kokkos_Tags.hpp>
69 #include <KokkosExp_MDRangePolicy.hpp>
94 typedef Qthreads execution_space;
97 typedef Kokkos::Device< execution_space, memory_space > device_type;
100 typedef memory_space::size_type size_type;
102 typedef ScratchMemorySpace< Qthreads > scratch_memory_space;
108 static Qthreads & instance(
int = 0 );
139 static int in_parallel();
141 static int is_initialized();
144 static int concurrency();
146 static void initialize(
int thread_count );
152 int shepherd_size()
const;
153 int shepherd_worker_size()
const;
155 static const char* name();
167 struct MemorySpaceAccess
168 < Kokkos::Qthreads::memory_space
169 , Kokkos::Qthreads::scratch_memory_space
172 enum { assignable =
false };
173 enum { accessible =
true };
174 enum { deepcopy =
false };
178 struct VerifyExecutionCanAccessMemorySpace
179 < Kokkos::Qthreads::memory_space
180 , Kokkos::Qthreads::scratch_memory_space
183 enum { value =
true };
184 inline static void verify(
void ) {}
185 inline static void verify(
const void * ) {}
194 #include <Qthreads/Kokkos_QthreadsExec.hpp>
195 #include <Qthreads/Kokkos_Qthreads_Parallel.hpp>
199 #endif // #define KOKKOS_ENABLE_QTHREADS
200 #endif // #define KOKKOS_QTHREADS_HPP
void print_configuration(std::ostream &, const bool detail=false)
Print "Bill of Materials".
Memory management for host memory.
Memory layout tag indicating right-to-left (C or lexigraphical scheme) striding of multi-indices...
Declaration of various MemoryLayout options.
Declaration of parallel operators.
void finalize()
Finalize the spaces that were initialized via Kokkos::initialize.