[prev in list] [next in list] [prev in thread] [next in thread] 

List:       beowulf
Subject:    [Beowulf] Re: Peformance penalty when using 128-bit reals on AMD64
From:       "David Mathog" <mathog () caltech ! edu>
Date:       2010-06-25 18:26:20
Message-ID: E1OSDbY-0004Sb-Uh () mendel ! bio ! caltech ! edu
[Download RAW message or body]

Prentice Bisbal <prentice@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
mathog@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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic