1*a4963045SJacob Faibussowitsch #pragma once 20e6b6b59SJacob Faibussowitsch 30e6b6b59SJacob Faibussowitsch #include <petscmacros.h> 40e6b6b59SJacob Faibussowitsch #include <petscdevice_cuda.h> 50e6b6b59SJacob Faibussowitsch #include <petscdevice_hip.h> 60e6b6b59SJacob Faibussowitsch 70e6b6b59SJacob Faibussowitsch #if PetscDefined(USING_HCC) && PetscDefined(USING_NVCC) 80e6b6b59SJacob Faibussowitsch #error using both nvcc and hipcc at the same time? 90e6b6b59SJacob Faibussowitsch #endif 100e6b6b59SJacob Faibussowitsch 110e6b6b59SJacob Faibussowitsch #if PetscDefined(HAVE_CUDA) || PetscDefined(HAVE_HIP) 120e6b6b59SJacob Faibussowitsch #define PETSC_HAVE_CUPM 1 130e6b6b59SJacob Faibussowitsch #endif 140e6b6b59SJacob Faibussowitsch 150e6b6b59SJacob Faibussowitsch #if PetscDefined(USING_NVCC) || PetscDefined(USING_HCC) 160e6b6b59SJacob Faibussowitsch #define PETSC_USING_CUPMCC 1 170e6b6b59SJacob Faibussowitsch #endif 18