[petsc-dev] code review request : txpetscgpu package removal

Paul Mullowney paulm at txcorp.com
Tue Jun 25 14:43:34 CDT 2013


Hi,

I've been refactoring some pieces of PETSc to remove the txpetscgpu 
dependence by bringing that code directly into petsc.  All of the 
capability in that package only depends on CUDA (and thrust), thus there 
is no need for an external package. I think removing this package is an 
improvement to the PETSc GPU capabilities as all the code is now easily 
visible (i.e. not hidden in some package).

The new code is in the fork:
pmullowney/txpetscgpu-package-removal.git

This branch builds and run on a machine with CUDA/Thrust/CUSP (i.e. no 
need for --download-txpetscgpu). However, txpetscgpu has not been 
entirely removed yet as there are still some dependencies in the aijcusp 
matrix and cusp preconditioner classes.

I would like to start a discussion on the changes I have made which 
primarily affect aijcusparse, mpiaijcusparse, and veccusp. There are two 
commits that need to be reviewed:

(1) 
https://bitbucket.org/pmullowney/txpetscgpu-package-removal/commits/d958d7291a1c03bca66b61ff38ec3bf7cd177769 

(2) 
https://bitbucket.org/pmullowney/txpetscgpu-package-removal/commits/263367a00e0a4a32cfef67c220c1904473582547 


I think (1) should be reviewed first as this adds most of the serial GPU 
capability to aijcusparse. The second commit (2) adds changes to veccusp 
and mpiaijcusparse to get an efficient multi-GPU SpMV.

Should I submit a pull request?
-Paul



More information about the petsc-dev mailing list