typedef enum {PETSC_OFFLOAD_UNALLOCATED=0x0,PETSC_OFFLOAD_CPU=0x1,PETSC_OFFLOAD_GPU=0x2,PETSC_OFFLOAD_BOTH=0x3,PETSC_OFFLOAD_VECKOKKOS=0x100} PetscOffloadMask;PETSC_OFFLOAD_UNALLOCATED - no memory contains valid matrix entries; NEVER used for vectors PETSC_OFFLOAD_GPU - GPU has valid vector/matrix entries PETSC_OFFLOAD_CPU - CPU has valid vector/matrix entries PETSC_OFFLOAD_BOTH - Both GPU and CPU have valid vector/matrix entries and they match PETSC_OFFLOAD_VECKOKKOS - Reserved for Vec_Kokkos. The offload is managed by Kokkos, thus this flag is not used in Vec_Kokkos.