[petsc-dev] patch for BiCG on GPUs (reworked).

Paul Mullowney paulm at txcorp.com
Fri Feb 1 18:11:12 CST 2013


Hi,

Here's a reworked patch for running BiCG on GPUs (with ILU(0) 
preconditioners) on GPUs for the aijcusparse.cu class. I fixed the 
comments from the previous emails on this patch. In particular, I added

(1) VecConjugate implementation in veccusp.cu with the correct method 
for getting the device ptr (VecCUSPGetArrayReadWrite()).
(2) Various methods in aijcusparse.cu for building the transpose 
matrices for MatSolveTranspose* methods. The implementation of the 
solves is done under the hood in the txpetscgpu library. A protection 
was added to ensure the matrix generation routines are only called once.
(3) I fixed the uninitialized compiler warning when building in double 
complex. This required a slight fix in VecCUSPGetArrayWrite().
(4) Small Style fixes.

I wasn't clear to me how to break this up patch into a small 
organizational patch and then a large implementation patch. If you have 
suggestions on what corresponds to organization and what corresponds to 
implementation, I can try to do that in subsequent patches.

Everything builds and runs fine on my end.

Thanks,
-Paul
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bicg-complex-2ndtry.patch
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130201/d33f99b3/attachment.ksh>


More information about the petsc-dev mailing list