[petsc-dev] Improving and stabilizing GPU support

Barry Smith bsmith at mcs.anl.gov
Fri Jul 19 14:15:45 CDT 2013


  All sounds good.

On Jul 19, 2013, at 2:12 PM, Karl Rupp <rupp at mcs.anl.gov> wrote:

> Hi guys,
> 
> now as the Paul's pull request for largely removing the txpetscgpu dependency is merged to next, I will proceed with further improving our GPU support. My ideas and TODO-list are as follows:
> 
> * Reduce CUSP dependency: The current elementary operations are mainly realized via CUSP. With better support via CUSPARSE and CUBLAS, I'd add a separate 'native' CUDA backend so that we can provide a full set of vector and sparse matrix operations out of the default NVIDIA toolchain. We will still keep CUSP for its preconditioners, yet we no longer depend on it.
> 
> * Integrate last bits of txpetscgpu package. I assume Paul will provide a helping hand here.
> 
> * Better ViennaCL bindings: The OpenCL version of VecMDot() will experience a boost with the ViennaCL 1.5.0 release, the CUDA version was fixed a couple of month back. Also, VecCopySome() will get improved in order to provide better MPI performance (similar to what Paul applied for CUSPARSE)
> 
> * Documentation: Add a chapter on GPUs to the manual, particularly on what to expect and what not to expect. Update documentation on webpage regarding installation.
> 
> * Integration of FEM quadrature from SNES ex52. The CUDA part requiring code generation is not very elegant, while the OpenCL approach is better suited for a library integration thanks to JIT. However, this requires user code to be provided as a string (again not very elegant) or loaded from file (more reasonable). How much FEM functionality do we want to provide via PETSc?
> 
> Please don't hesitate to post other GPU wishes. Now it's the best time for doing so :-)
> 
> Best regards,
> Karli




More information about the petsc-dev mailing list