Actual source code: cupminterface.cxx
1: #include <petsc/private/cupminterface.hpp>
3: // This file serves simply to store the definitions of all the static variables that we
4: // DON'T have access to. Ones defined in PETSc-defined enum classes don't seem to have to
5: // need this declaration...
7: namespace Petsc {
9: #if PetscDefined(HAVE_CUDA)
10: const decltype(cudaSuccess) CUPMInterface<CUPMDeviceKind::CUDA>::cupmSuccess;
11: const decltype(cudaErrorNotReady) CUPMInterface<CUPMDeviceKind::CUDA>::cupmErrorNotReady;
12: const decltype(cudaStreamNonBlocking) CUPMInterface<CUPMDeviceKind::CUDA>::cupmStreamNonBlocking;
13: const decltype(cudaErrorDeviceAlreadyInUse) CUPMInterface<CUPMDeviceKind::CUDA>::cupmErrorDeviceAlreadyInUse;
14: #endif // PetscDefined(HAVE_CUDA)
16: #if PetscDefined(HAVE_HIP)
17: const decltype(hipSuccess) CUPMInterface<CUPMDeviceKind::HIP>::cupmSuccess;
18: const decltype(hipErrorNotReady) CUPMInterface<CUPMDeviceKind::HIP>::cupmErrorNotReady;
19: const decltype(hipStreamNonBlocking) CUPMInterface<CUPMDeviceKind::HIP>::cupmStreamNonBlocking;
20: const decltype(hipSuccess) CUPMInterface<CUPMDeviceKind::HIP>::cupmErrorDeviceAlreadyInUse;
21: #endif // PetscDefined(HAVE_HIP)
23: } // namespace Petsc