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;
Implementation details of Tpetra.
Namespace Tpetra contains the class and methods constituting the Tpetra library.