19 #if defined(KOKKOS_ENABLE_CUDA)
27 #if defined(KOKKOS_ENABLE_CUDA)
28 if (!cudaInfo.initialized_) {
29 cudaInfo.initialized_ =
true;
30 TPETRA_DETAILS_SPACES_CUDA_RUNTIME(cudaEventCreateWithFlags(
31 &cudaInfo.execSpaceWaitEvent_, cudaEventDisableTiming));
32 TPETRA_DETAILS_SPACES_CUDA_RUNTIME(cudaDeviceGetStreamPriorityRange(
33 &cudaInfo.lowPrio_, &cudaInfo.highPrio_));
40 if (!(cudaInfo.lowPrio_ >= cudaInfo.mediumPrio_ &&
41 cudaInfo.mediumPrio_ >= cudaInfo.highPrio_)) {
43 ss <<
"CUDA stream priority does not follow assumptions."
44 <<
" low=" << cudaInfo.lowPrio_ <<
" medium=" << cudaInfo.mediumPrio_
45 <<
" high=" << cudaInfo.highPrio_
46 <<
" Please report this to the Tpetra developers.";
47 throw std::runtime_error(ss.str());
57 #if defined(KOKKOS_ENABLE_CUDA)
58 InstanceLifetimeManager<Kokkos::Cuda> cudaSpaces;
61 #ifdef KOKKOS_ENABLE_SERIAL
62 InstanceLifetimeManager<Kokkos::Serial> serialSpaces;
64 #ifdef KOKKOS_ENABLE_OPENMP
65 InstanceLifetimeManager<Kokkos::OpenMP> openMPSpaces;
67 #ifdef KOKKOS_ENABLE_HIP
68 InstanceLifetimeManager<Kokkos::HIP> HIPSpaces;
70 #ifdef KOKKOS_ENABLE_SYCL
71 InstanceLifetimeManager<Kokkos::Experimental::SYCL> SYCLSpaces;