From: Tom K. <tom...@ve...> - 2015-05-13 21:33:58
|
On Wed, May 13, 2015 at 5:01 PM, Hazen Babcock <hba...@ma...> wrote: > On 05/13/2015 03:58 PM, Alan W. Irwin wrote: > > In my case the only fortran compiler available is gfortran so I don't > > need to choose that. So instead of the above I set > > > > export FFLAGS='-g -ffpe-trap=invalid,zero,overflow,underflow' > > > > before calling cmake and building the x29f95 and ps targets. > > > > After that, I got the following result > > > > software@raven> examples/f95/x29f -dev psc -o test.psc > > > > Program received signal SIGFPE: Floating-point exception - erroneous > > arithmetic operation. > > [...] > > > > So I confirm there is a floating-point issue for that example, and > > this should be easy for anyone else here to confirm that has access to > > gfortran. However, I am completely tied up with other PLplot issues > > so I would appreciate it if you pursued and fixed all floating-point > > issues revealed by this method. But if you are too busy to do that > > yourself, please let this list know so others with more time will be > > motivated to take a crack at it. > > The problem seems to come from line 267 in this example. It looks like > the "sec" argument is not getting passed to the C library correctly? 0.0 > becomes something like 4.2439915819305446e-314, which I think causes the > later problems. Perhaps there is something wrong with the fortran > bindings for plctime? I would appreciate it if a fortran expert could > take a look. > > -Hazen > > I would look into setting the DAZ and FTZ bits for the floating point unit. Intel fortran has an -ftz option (can't remember how to do DAZ). For an example of how to do ftz in code, see: http://geoweb3.princeton.edu/~luet/specfem3d_globe/src/shared/force_ftz.c Tom |