For sparse and even dense solvers for GPU you can use CULA a product from CULA tools. They even support double complex data type. But do not forget if you wish to get better performance over CPU with complex numbers you should use fermi based cards i.e. Tesla m2050-m2090.<br><br>----- Reply message -----<br>From: &quot;Paul Mullowney&quot; &lt;paulm@txcorp.com&gt;<br>To: &quot;PETSc users list&quot; &lt;petsc-users@mcs.anl.gov&gt;<br>Subject: [petsc-users] CUDA with complex number<br>Date: Mon, Jan 23, 2012 22:28<br><br><br>I would claim that Petsc does not support GPU capabilities for complex <br>numbers right now.<br><br>The CUSP library is templated over the scalar type (i.e. float or <br>double), however I don&#39;t think it supports complex numbers. Although, I <br>could be wrong on this.<br><br>It could be somewhat straightforward to move from CUSP to CUSPARSE (yes, <br>these are different Nvidia libraries). I believe CUSPARSE supports SpMV <br>for complex types. It also supports triangular solve for complex types.<br><br>-Paul<br><br>&gt; &nbsp; &nbsp; &nbsp;This is an installation issue, please send all installation issues to petsc-maint@mcs.anl.gov with the entire configure.log<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; &nbsp; &nbsp; You can try editing config/PETSc/packages/cuda.py and removing the two lines<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp;if self.scalartypes.scalartype == &#39;complex&#39;:<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp;raise RuntimeError(&#39;Must use real numbers with CUDA&#39;)<br>&gt;<br>&gt; &nbsp; &nbsp; As it says we have never tested for complex so I do not know how far it is from working.<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp;Barry<br>&gt;<br>&gt; On Jan 23, 2012, at 1:24 PM, recrusader wrote:<br>&gt;<br>&gt;&gt; Dear PETSc Developers,<br>&gt;&gt;<br>&gt;&gt; I am compiling PETSc-dev using GPU in complex number mode.<br>&gt;&gt; However, when I configure PETSc-dev, I get the following errors<br>&gt;&gt; &quot;<br>&gt;&gt; *******************************************************************************<br>&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;UNABLE to CONFIGURE with GIVEN OPTIONS &nbsp; &nbsp;(see configure.log<br>&gt;&gt; for details):<br>&gt;&gt; -------------------------------------------------------------------------------<br>&gt;&gt; Cannot use cuda with complex numbers it is not coded for this capability<br>&gt;&gt; *******************************************************************************<br>&gt;&gt; &quot;<br>&gt;&gt; I have checked CUSP. The latest version can support complex number.<br>&gt;&gt; What should I do for CUDA?<br>&gt;&gt; Thank you very much.<br>&gt;&gt;<br>&gt;&gt; Best,<br>&gt;&gt; Yujie<br><br>