[petsc-dev] default SNES rtol for single precision builds
Barry Smith
bsmith at mcs.anl.gov
Tue Sep 20 08:05:42 CDT 2011
On Sep 20, 2011, at 2:53 AM, Jose E. Roman wrote:
>
> El 19/09/2011, a las 19:59, Barry Smith escribió:
>
>>
>> In particular the e-8 for SNES is very ad-hoc and has no justification, I originally used that number because I wanted something smaller than what we use for KSP but not too small. Does anybody have suggestions for a self-consistent justified set of rules for defining all our default tolerances?
>
> Could use precision-independent expressions, such as
> rtol_KSP = PETSC_SQRT_MACHINE_EPSILON
> rtol_SNES = 0.1*PETSC_SQRT_MACHINE_EPSILON
> but I don't have a justification why these values and not others.
>
> By the way, it always seemed strange to me that PETSC_MACHINE_EPSILON (in double) is defined to be 1.e-14 instead of the actual IEEE value 1.11022e-16 (or 2.22045e-16). Its square root is 1.0537e-08.
I'll fix this.
>
> Also, it could be possible to set these values by calling Lapack's _lamch at configure.
Yuck
Barry
>
> Jose
>
>>
>> Barry
>>
>>
>> On Sep 19, 2011, at 12:27 PM, Lisandro Dalcin wrote:
>>
>>> After debugging a failing petsc4py testcase using single precision
>>> builds, I realized the default SNES relative tolerance is 1e-8. What
>>> should we do?
>>>
>>> --
>>> Lisandro Dalcin
>>> ---------------
>>> CIMEC (INTEC/CONICET-UNL)
>>> Predio CONICET-Santa Fe
>>> Colectora RN 168 Km 472, Paraje El Pozo
>>> 3000 Santa Fe, Argentina
>>> Tel: +54-342-4511594 (ext 1011)
>>> Tel/Fax: +54-342-4511169
>>
>
More information about the petsc-dev
mailing list