1*0e6b6b59SJacob Faibussowitsch #ifndef PETSCDEVICE_CUPM_H 2*0e6b6b59SJacob Faibussowitsch #define PETSCDEVICE_CUPM_H 3*0e6b6b59SJacob Faibussowitsch 4*0e6b6b59SJacob Faibussowitsch #include <petscmacros.h> 5*0e6b6b59SJacob Faibussowitsch #include <petscdevice_cuda.h> 6*0e6b6b59SJacob Faibussowitsch #include <petscdevice_hip.h> 7*0e6b6b59SJacob Faibussowitsch 8*0e6b6b59SJacob Faibussowitsch #if PetscDefined(USING_HCC) && PetscDefined(USING_NVCC) 9*0e6b6b59SJacob Faibussowitsch #error using both nvcc and hipcc at the same time? 10*0e6b6b59SJacob Faibussowitsch #endif 11*0e6b6b59SJacob Faibussowitsch 12*0e6b6b59SJacob Faibussowitsch #if PetscDefined(HAVE_CUDA) || PetscDefined(HAVE_HIP) 13*0e6b6b59SJacob Faibussowitsch #define PETSC_HAVE_CUPM 1 14*0e6b6b59SJacob Faibussowitsch #endif 15*0e6b6b59SJacob Faibussowitsch 16*0e6b6b59SJacob Faibussowitsch #if PetscDefined(USING_NVCC) || PetscDefined(USING_HCC) 17*0e6b6b59SJacob Faibussowitsch #define PETSC_USING_CUPMCC 1 18*0e6b6b59SJacob Faibussowitsch #endif 19*0e6b6b59SJacob Faibussowitsch 20*0e6b6b59SJacob Faibussowitsch #endif // PETSCDEVICE_CUPM_H 21