Dear Janos,

just as a note, as someone might be interested in.

Am 05.11.19 um 16:52 schrieb Janos Meny:
I don’t know c-xsc, but if the library provides high precision integral/ 
floating point types why not just use them with eigen, since everything is 
templated on the Scalar type.

Actually their approach is different. We often can't afford to go for high 
precision types for memory and
run-time issues. However, having the accumulator for the sum in the dot 
products in high precision can
dramatically enhance  accuracy for problems where rounding errors are an issue. 
The problem is not the multiplication,
but the addition, e.g., one can get ( 1e50, 1, -1e50) * ( 1,1,1)^T = 1 and not 
zero, still working with double
matrices / vectors only. This idea was introduced a long time ago in 
FORTRAN-ACRITH and also implemented in
Pascal-XSC and C-XCS and is referred to as 'exact dot product'.

In principle one could already get a pretty good accuracy at no cost, if the 
CPU would allow to extend the
FMA operations in order to add all multiplications in the same FMA register, 
since internally they have
to work with a much higher precision. I have no clue whether this wold actually 
be possible.
In my numeric I definitely see a significant increase in accuracy if FMA is 
enabled.

BTW, I have performed multi precision numeric with eigen and it works pretty 
nice.

best regards,
Peter


Reply via email to