<div dir="ltr"><div><div>Thank you Barry for your comments,<br><br></div>So if you're ok with this, I'll work on it and I'll propose you a contribution later.<br><br></div>Sylvain<br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2014-08-25 20:02 GMT+02:00 Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=""><br>
On Aug 25, 2014, at 9:59 AM, Sylvain Mercier <<a href="mailto:sylvainmercier85@gmail.com">sylvainmercier85@gmail.com</a>> wrote:<br>
<br>
> Thank you Matthew and Hong.<br>
><br>
> That's too bad...<br>
> I was wondering if it would be possible to add this alternative only in the MUMPS interface.<br>
> Indeed, in the field of solid mechanics (where 3D, beams and shell are often mixed thanks to Lagrange multipliers), it's very usefull to factorize a matrix in single precision thanks to MUMPS, and use it to precondition a sequence of systems solved in double precision. It turns to be very robust and quite fast.<br>

><br>
> In  src/mat/impls/aij/mpi/mumps/mumps.c, a new type, say PetscMumpsSingleScalar, could be defined in order to pass the required information to the single precision<br>
> MUMPS solver.<br>
><br>
> Would the Petsc team accept to integrate such a feature?<br>
<br>
</div>   Sylvain,<br>
<br>
   Yes this would be possible; it is the maintenance and clarity of the code that becomes an issue.  Basically all the MatConvertToTriples() routines would need to optionally make a copy of the numerical values into single precision and similarly the right hand side would need to do the same when some option on the factorization saying to use single precision is set.<br>

<span class="HOEnZb"><font color="#888888"><br>
   Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
><br>
> Thanks,<br>
> Sylvain<br>
><br>
><br>
> 2014-08-20 17:57 GMT+02:00 Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>>:<br>
> On Wed, Aug 20, 2014 at 7:53 AM, Sylvain Mercier <<a href="mailto:sylvainmercier85@gmail.com">sylvainmercier85@gmail.com</a>> wrote:<br>
> Hi everyone,<br>
><br>
> I'm using PETSc to solve saddle point systems. I have found a block preconditionner which requires to solve a smaller symmetric positive definite system. I do it with  MUMPS which is fast an robust.<br>
> However, I would like to use this solver in single precision in order to compare the performances.<br>
><br>
> So is it possible to use MUMPS in single precision inside a double precision solving with PETSc?<br>
><br>
> No, right now PETSc must have all the same precision. We have investigated several methods for<br>
> using multi-precision, but none has satisfied all our needs.<br>
><br>
>   Thanks,<br>
><br>
>      Matt<br>
><br>
> Thanks,<br>
> Sylvain<br>
><br>
><br>
><br>
> --<br>
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
> -- Norbert Wiener<br>
><br>
<br>
</div></div></blockquote></div><br></div>