Questions and Answers : Wish list : Numerical Accuracy
Message board moderation

To post messages, you must log in.

AuthorMessage
Charles Elliott

Send message
Joined: 27 Sep 04
Posts: 10
Credit: 24,233
RAC: 0
Message 7036 - Posted: 15 Apr 2005, 19:06:43 UTC

I have a suggestion for attacking the differences you are observing between CPUs. Why not reprogram the parts of your algorithm that are exhibiting problems in Lisp or some other language that has infinite (arbitrary) precision arithmetic built in? In the alternative you could put in one of the several infinite (arbitrary) precision arithmetic packages written in C/C++ available on the Internet. (References to these can be found in several issues of C/C++ Users Journal or you could Google it. Also Knuth has several algorithms for (arbitrary) infinite precision arithmetic in one of his books, but the language is somewhat obtuse.) You might see two benefits to this approach: 1) You would know exactly what the answers should be; and 2) If you output intermediate results (to a file or somewhere) you could determine where in the calculations the differences were first appearing.
ID: 7036 · Report as offensive     Reply Quote
John McLeod VII
Avatar

Send message
Joined: 2 Sep 04
Posts: 165
Credit: 146,925
RAC: 0
Message 7309 - Posted: 29 Apr 2005, 2:32:27 UTC

Arbitrary precision comes at the price of speed, by a factor of possibly several hundred. This is OK if there is a small amount of calculation, but is completely unacceptable for a program that has days worth of floating point processing to do.


BOINC WIKI
ID: 7309 · Report as offensive     Reply Quote
Charles Elliott

Send message
Joined: 27 Sep 04
Posts: 10
Credit: 24,233
RAC: 0
Message 7321 - Posted: 29 Apr 2005, 13:15:22 UTC - in response to Message 7309.  

> Arbitrary precision comes at the price of speed, by a factor of possibly
> several hundred. This is OK if there is a small amount of calculation, but is
> completely unacceptable for a program that has days worth of floating point
> processing to do.
>

When I run one of my programs under a debugger it can take hours to execute a few hundred instructions, but when I am done the program is correct.
ID: 7321 · Report as offensive     Reply Quote

Questions and Answers : Wish list : Numerical Accuracy


©2024 CERN