1 #include "../cupmcontext.hpp" /*I "petscdevice.h" I*/ 2 3 PetscErrorCode PetscDeviceContextCreate_CUDA(PetscDeviceContext dctx) 4 { 5 static const Petsc::CUPMContextCuda contextCuda; 6 PetscDeviceContext_(CUDA) *dci; 7 PetscErrorCode ierr; 8 9 PetscFunctionBegin; 10 ierr = PetscNew(&dci);CHKERRQ(ierr); 11 dctx->data = static_cast<void*>(dci); 12 ierr = PetscMemcpy(dctx->ops,&contextCuda.ops,sizeof(contextCuda.ops));CHKERRQ(ierr); 13 PetscFunctionReturn(0); 14 } 15