[petsc-users] CUDA with complex number

recrusader recrusader at gmail.com
Mon Jan 23 16:17:38 CST 2012


Dear Barry,

For complex number-based implementation, will the functions in Vec, Mat,
KSP, and PC having been realized for real number work at least at the
running level?
Do I need to do more coding for them?

To my knowledge, Victor Minden finished most of the coding work for GPU
implementation in PETSc with your and Matt's help.
However, it seems there is not people to further realize and optimize other
GPU functions in PETSc.
Do you think GPU-based computation is not important or has low efficiency
compared to current CPU-based implementation in PETSc?


Thank you very much,
Yujie


On Mon, Jan 23, 2012 at 3:46 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
>   Yujie,
>
>    As I said we have never tried it. You are welcome to try it following
> the directions I gave. You must realize that we do not have an army of
> people to support GPUs so you are largely on your on in terms of getting
> things done and need to use your initiative in trying things yourself and
> working through the problems that may arise.
>
>   Barry
>
> On Jan 23, 2012, at 3:36 PM, recrusader wrote:
>
> > 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>
> 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 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/aa6bdc5c/attachment-0001.htm>


More information about the petsc-users mailing list