[petsc-dev] patches for ICC/Cholesky preconditioner on GPUs
Paul Mullowney
paulm at txcorp.com
Sat Mar 9 14:30:50 CST 2013
Hi,
I've gotten GPU based icc preconditioners working with the following set
of patches. One uses ICC by loading an upper triangular matrix into the
cusparse class, and then setting the symmetry option, i.e.
ierr =
MatCreateSeqAIJCUSPARSE(comm,n,m,PETSC_NULL,num_entries_per_row,&A);CHKERRQ(ierr);
ierr = MatSetOption(A,MAT_SYMMETRIC,PETSC_TRUE);
I've organized the implementations into 2 files:
1) icc-cholesky-cusparse-organization.patch : This patch has the basic
infrastructure for calling the symbolic and numeric factorizations (both
ICC and Cholesky). Currently these routines make scoping calls to the
implementations in aij/seq/aijfact.c
2) icc-cholesky-implementation.patch : This patch contains the matrix
construction on the GPU. This is done in the method
MatSeqAIJCUSPARSEBuildICCTriMatrices.
This patch has significant changes so comments or suggestions are
definitely welcome.
Thanks,
-Paul
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: icc-cholesky-cusparse-implementation.patch
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130309/a4802412/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: icc-cholesky-cusparse-organization.patch
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130309/a4802412/attachment-0001.ksh>
More information about the petsc-dev
mailing list