1 #if !defined(__VIENNACLMATIMPL) 2 #define __VIENNACLMATIMPL 3 4 #include <../src/vec/vec/impls/seq/seqviennacl/viennaclvecimpl.h> 5 6 /* for everything else */ 7 #include "viennacl/compressed_matrix.hpp" 8 9 10 /* Old way */ 11 typedef viennacl::compressed_matrix<PetscScalar> ViennaCLAIJMatrix; 12 13 14 struct Mat_SeqAIJViennaCL { 15 ViennaCLAIJMatrix *mat; /* pointer to the matrix on the GPU */ 16 }; 17 18 19 PETSC_INTERN PetscErrorCode MatViennaCLCopyToGPU(Mat); 20 PETSC_INTERN PetscErrorCode MatViennaCLCopyFromGPU(Mat, ViennaCLAIJMatrix*); 21 #endif 22