Thanks for noting this. Is the problem the (*right)->map operation in?
ierr = PetscLayoutReference(mat->cmap,&(*right)->map);CHKERRQ(ierr); This can be corrected easily by replacing the PetscLayoutReference() here with VecSetLayout(). Does that resolve the problem? General note: We should really move the PetscLayout operations out of Vec mpi impl location. Barry On Feb 13, 2013, at 3:51 AM, "Jose E. Roman" <jroman at dsic.upv.es> wrote: > mataijcusp.cu does not currently compile (MatGetVecs_MPIAIJCUSP accesses > private Vec members). > Here is a fix. I did not push because maybe you prefer to use VecGetLayout > here. > Jose > > > --- a/src/mat/impls/aij/mpi/mpicusp/mpiaijcusp.cu Tue Feb 12 23:21:30 > 2013 -0600 > +++ b/src/mat/impls/aij/mpi/mpicusp/mpiaijcusp.cu Wed Feb 13 10:42:59 > 2013 +0100 > @@ -3,6 +3,7 @@ > #include <../src/mat/impls/aij/mpi/mpiaij.h> /*I "petscmat.h" I*/ > PETSC_CUDA_EXTERN_C_END > #include "mpicuspmatimpl.h" > +#include <petsc-private/vecimpl.h> > > #undef __FUNCT__ > #define __FUNCT__ "MatMPIAIJSetPreallocation_MPIAIJCUSP" >
