Prentice Bisbal <prent...@ias.edu> wrote: > One of my Fortran programmers had to increase the precision of his > program so he switched from REAL*8 to REAL*16 which changes the size of > his variables from 64 bits to 128 bits. The program now takes 32x longer > to run.
Doubling the size of the variables can increase the size of the arrays that hold them so that what once fit comfortably into the fastest parts of memory no longer does. Depending on memory access patterns that can easily result in a 16X drop in speed. (2X would normally be lost either way because there is twice as much data to move.) You didn't say why he had to change the precision. If it was a numerical stability issue, well, if the algorithm doesn't work for R*8 going to R*16 may not be a reliable way to calm things down. If this is a case where the exponents are out of range perhaps the whole problem can be scaled up or down by some constant factor so that the numbers once again fit into the range of exponents supported by R*8? Regards, David Mathog mat...@caltech.edu Manager, Sequence Analysis Facility, Biology Division, Caltech _______________________________________________ Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf