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.