xref: /petsc/src/mat/impls/aij/seq/seqviennacl/viennaclmatimpl.h (revision e4a0ef16445bf169c9a8b17f5f5ac28daecc54e0)
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