xref: /petsc/include/petscdevice_cupm.h (revision 0ff9d02ecf1627951ed050a8344155223c6ca4ea)
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