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