johns@calvin.EE.CORNELL.EDU (John Sahr) (06/22/89)
We have several DS3100's in our group, being used for a variety of things,
including numbercrunching. The desired behaviour for floating point
errors is a fatal error (for our purposes), which is exactly what happens
on our microvaxes and one other Unix machine.
The DS3100's fortran and C compilers produce code which does not seem to
generate either fatal errors (unheeded SIGFPE) or any other signals, but
just starts to propagate NaN's and Infinity's, and slows down _dramatically_.
Is there a way to detect floating point errors through any kind of signal?
What are we doing wrong? Compiler flags? GCC?
thanks,
john
--
John Sahr, Dept. of Electrical Eng., Cornell University, Ithaca, NY 14853
johns@{alfven,calvin}.ee.cornell.edu, {rochester,cmcl2}!cornell!calvin!johnsjohns@calvin.EE.CORNELL.EDU (John Sahr) (06/23/89)
In article <1133@calvin.EE.CORNELL.EDU> johns@calvin.EE.CORNELL.EDU (John Sahr) writes: >We have several DS3100's in our group, being used for a variety of things, >including numbercrunching. The desired behaviour for floating point >errors is a fatal error (for our purposes), which is exactly what happens >on our microvaxes and one other Unix machine. > >The DS3100's fortran and C compilers produce code which does not seem to >generate either fatal errors (unheeded SIGFPE) or any other signals, but >just starts to propagate NaN's and Infinity's, and slows down _dramatically_. Since I posted this I ran across set_fpc_csr() which you can use to cause SIGFPE to be generated for a variety of faults. This is documented (apparently) in fpc(3), which for some reason we don't have. Nevertheless, poking around in <mips/fpu.h> suggested running set_fpc_csr(FPCSR_ENABLES); This does cause many SIGFPE's to be generated, although exp(1.0e6) returns Infinity without a SIGFPE, for example. see math(3m). I would appreciate it if someone could suggest to me where I can get fpc(3) man pages. thanks, john -- John Sahr, Dept. of Electrical Eng., Cornell University, Ithaca, NY 14853 johns@{alfven,calvin}.ee.cornell.edu, {rochester,cmcl2}!cornell!calvin!johns