Actual source code: viennaclmatimpl.h

petsc-3.5.4 2015-05-23
Report Typos and Errors
4: #include <../src/mat/impls/aij/seq/aij.h> /*I "petscmat.h" I*/ 6: /* Pulls in some ViennaCL includes as well as VIENNACL_WITH_OPENCL: */ 7: #include <../src/vec/vec/impls/seq/seqviennacl/viennaclvecimpl.h> 9: /* for everything else */ 10: #include "viennacl/compressed_matrix.hpp" 11: #include "viennacl/compressed_compressed_matrix.hpp" 14: typedef viennacl::compressed_matrix<PetscScalar> ViennaCLAIJMatrix; 15: typedef viennacl::compressed_compressed_matrix<PetscScalar> ViennaCLCompressedAIJMatrix; 18: struct Mat_SeqAIJViennaCL { 19: ViennaCLVector *tempvec; 20: ViennaCLAIJMatrix *mat; /* pointer to the matrix on the GPU */ 21: ViennaCLCompressedAIJMatrix *compressed_mat; /* compressed CSR */ 22: }; 24: PETSC_INTERN PetscErrorCode MatViennaCLCopyToGPU(Mat); 25: PETSC_INTERN PetscErrorCode MatViennaCLCopyFromGPU(Mat, ViennaCLAIJMatrix*); 26: #endif