1a4963045SJacob Faibussowitsch #pragma once 20e6b6b59SJacob Faibussowitsch 30e6b6b59SJacob Faibussowitsch #include <petscmacros.h> 40e6b6b59SJacob Faibussowitsch #include <petscdevice_cuda.h> 50e6b6b59SJacob Faibussowitsch #include <petscdevice_hip.h> 60e6b6b59SJacob Faibussowitsch 7*1850900dSBarry Smith /* MANSEC = Sys */ 8*1850900dSBarry Smith 90e6b6b59SJacob Faibussowitsch #if PetscDefined(USING_HCC) && PetscDefined(USING_NVCC) 100e6b6b59SJacob Faibussowitsch #error using both nvcc and hipcc at the same time? 110e6b6b59SJacob Faibussowitsch #endif 120e6b6b59SJacob Faibussowitsch 130e6b6b59SJacob Faibussowitsch #if PetscDefined(HAVE_CUDA) || PetscDefined(HAVE_HIP) 140e6b6b59SJacob Faibussowitsch #define PETSC_HAVE_CUPM 1 150e6b6b59SJacob Faibussowitsch #endif 160e6b6b59SJacob Faibussowitsch 170e6b6b59SJacob Faibussowitsch #if PetscDefined(USING_NVCC) || PetscDefined(USING_HCC) 180e6b6b59SJacob Faibussowitsch #define PETSC_USING_CUPMCC 1 190e6b6b59SJacob Faibussowitsch #endif 20