[petsc-dev] CUDA GAMG coarse grid solver

Mark Adams mfadams at lbl.gov
Sun Jul 21 08:55:00 CDT 2019


I am running ex56 with -ex56_dm_vec_type cuda -ex56_dm_mat_type aijcusparse
and I see no GPU communication in MatSolve (the serial LU coarse grid
solver). I am thinking the dispatch of the CUDA version of this got dropped
somehow.

I see that this is getting called:

PETSC_EXTERN PetscErrorCode MatSolverTypeRegister_CUSPARSE(void)
{
  PetscErrorCode ierr;

  PetscFunctionBegin;
  ierr =
MatSolverTypeRegister(MATSOLVERCUSPARSE,MATSEQAIJCUSPARSE,MAT_FACTOR_LU,MatGetFactor_seqaijcusparse_cusparse);CHKERRQ(ierr);
  ierr =
MatSolverTypeRegister(MATSOLVERCUSPARSE,MATSEQAIJCUSPARSE,MAT_FACTOR_CHOLESKY,MatGetFactor_seqaijcusparse_cusparse);CHKERRQ(ierr);
  ierr =
MatSolverTypeRegister(MATSOLVERCUSPARSE,MATSEQAIJCUSPARSE,MAT_FACTOR_ILU,MatGetFactor_seqaijcusparse_cusparse);CHKERRQ(ierr);
  ierr =
MatSolverTypeRegister(MATSOLVERCUSPARSE,MATSEQAIJCUSPARSE,MAT_FACTOR_ICC,MatGetFactor_seqaijcusparse_cusparse);CHKERRQ(ierr);
  PetscFunctionReturn(0);
}

but MatGetFactor_seqaijcusparse_cusparse is not getting  called.

GAMG does set the coarse grid solver to LU manually like this: ierr =
PCSetType(pc2, PCLU);CHKERRQ(ierr);

Any ideas?

Thanks,
Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190721/2d1b8aee/attachment.html>


More information about the petsc-dev mailing list