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