Possible performance issue with gfortran? denormalized numbers
Toon Moene
toon@moene.org
Tue Feb 2 19:30:00 GMT 2016
On 02/01/2016 12:55 PM, Jose Miguel Reynolds Barredo wrote:
> Hi everyone,
>
> I was developing a tridiagonal block solver and I found a performance
> issue that is ingriguing me: doing operations with numbers in the
> denormalized range is around ten times slower than regular numbers
> (https://en.wikipedia.org/wiki/Denormal_number). As an example, I
> builded a very simple code:
The reason operations with denormal numbers are ten times slower has -
unfortunately, as otherwise we could do something about it - nothing to
do with the compiler or the run time library (of *any* language).
Denormal number operations are handled by the operating system, because
it is too costly to allocate silicon to handle them on the CPU. So when
the CPU detects a denormal number, it traps. This trap is caught by the
OS, which dispatches the computation to a routine written for the
purpose. The trap and the software implementation of the handling of the
operation involving a denormal are costly, as you observed.
There is nothing the compiler writers (*any* compiler writers, not just
GCC's) can do about this.
Kind regards,
--
Toon Moene - e-mail: toon@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
At home: http://moene.org/~toon/; weather: http://moene.org/~hirlam/
Progress of GNU Fortran: http://gcc.gnu.org/wiki/GFortran#news
More information about the Gcc-help
mailing list