[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