[petsc-users] CUDA with complex number

Paul Mullowney paulm at txcorp.com
Mon Jan 23 15:52:36 CST 2012


Interesting. I didn't know this as I've never tried to do complex 
arithmetic with GPUs and PETSc. Maybe it is just a configuration issue.

It may work provided Thrust has complex number support also (which it 
probably does). However, if you are using ILU (and at some pt, ICC) 
preconditioners, some additional code is needed to do MatSolve with 
complex numbers. This wouldn't be too difficult to implement though.

-Paul
> Dear Paul,
>
> Please find the changelog in the following link for CUSP 0.2.0
> http://code.google.com/p/cusp-library/source/browse/CHANGELOG
>
> They has added cusp:complex class to support complex number-based 
> operation.
>
> does it not work for PETSc?
>
> Thanks a lot,
> Yujie
>
>
> On Mon, Jan 23, 2012 at 3:28 PM, Paul Mullowney <paulm at txcorp.com 
> <mailto:paulm at txcorp.com>> wrote:
>
>     I would claim that Petsc does not support GPU capabilities for
>     complex numbers right now.
>
>     The CUSP library is templated over the scalar type (i.e. float or
>     double), however I don't think it supports complex numbers.
>     Although, I could be wrong on this.
>
>     It could be somewhat straightforward to move from CUSP to CUSPARSE
>     (yes, these are different Nvidia libraries). I believe CUSPARSE
>     supports SpMV for complex types. It also supports triangular solve
>     for complex types.
>
>     -Paul
>
>
>             This is an installation issue, please send all
>         installation issues to petsc-maint at mcs.anl.gov
>         <mailto:petsc-maint at mcs.anl.gov> with the entire configure.log
>
>
>
>
>            You can try editing config/PETSc/packages/cuda.py and
>         removing the two lines
>
>             if self.scalartypes.scalartype == 'complex':
>               raise RuntimeError('Must use real numbers with CUDA')
>
>            As it says we have never tested for complex so I do not
>         know how far it is from working.
>
>             Barry
>
>         On Jan 23, 2012, at 1:24 PM, recrusader wrote:
>
>             Dear PETSc Developers,
>
>             I am compiling PETSc-dev using GPU in complex number mode.
>             However, when I configure PETSc-dev, I get the following
>             errors
>             "
>             *******************************************************************************
>                     UNABLE to CONFIGURE with GIVEN OPTIONS    (see
>             configure.log
>             for details):
>             -------------------------------------------------------------------------------
>             Cannot use cuda with complex numbers it is not coded for
>             this capability
>             *******************************************************************************
>             "
>             I have checked CUSP. The latest version can support
>             complex number.
>             What should I do for CUDA?
>             Thank you very much.
>
>             Best,
>             Yujie
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120123/b90fda07/attachment-0001.htm>


More information about the petsc-users mailing list