While trying to debug some other stuff, I discovered that
opal_timer_linux_open() ends up setting the inexact floating point exception here:
/* numer is in MHz - convert to Hz and make an integer */
opal_timer_linux_freq = (opal_timer_t) cpu_f * 1000000;
I'm not sure if this is anything we should care about or not, but when linked
to the pgf runtime you end up with the following warning output:
Warning: ieee_inexact is signaling
I tried to see if I could do the conversion without triggering this to no
avail. One could avoid changing the state with:
#include <fenv.h>
fecxept_t feflags
fegetexceptflag(&feflags, FE_INEXACT);
/* numer is in MHz - convert to Hz and make an integer */
opal_timer_linux_freq = (opal_timer_t) cpu_f * 1000000;
fesetexceptflag(&feflags, FE_INEXACT);
But I'm not sure this is worth the overhead. Not sure how often this code is
called.
- Orion
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA, Boulder Office FAX: 303-415-9702
3380 Mitchell Lane or...@nwra.com
Boulder, CO 80301 http://www.nwra.com