#if !defined(__PETSCVIENNACL_H) #define __PETSCVIENNACL_H #include #if defined(PETSC_HAVE_CUDA) #define VIENNACL_WITH_CUDA #endif #if defined(PETSC_HAVE_OPENCL) #define VIENNACL_WITH_OPENCL #endif #if defined(PETSC_HAVE_OPENMP) #define VIENNACL_WITH_OPENMP #endif #include #include #include PETSC_EXTERN PetscErrorCode VecViennaCLGetArrayReadWrite(Vec v, viennacl::vector **a); PETSC_EXTERN PetscErrorCode VecViennaCLRestoreArrayReadWrite(Vec v, viennacl::vector **a); PETSC_EXTERN PetscErrorCode VecViennaCLGetArrayRead(Vec v, const viennacl::vector **a); PETSC_EXTERN PetscErrorCode VecViennaCLRestoreArrayRead(Vec v, const viennacl::vector **a); PETSC_EXTERN PetscErrorCode VecViennaCLGetArrayWrite(Vec v, viennacl::vector **a); PETSC_EXTERN PetscErrorCode VecViennaCLRestoreArrayWrite(Vec v, viennacl::vector **a); #endif