jeffrey@notvax.ccny.cuny.edu (Jeffrey Bromberger) (03/02/91)
Before porting over a large graphic library, I decided to run the single precision paranoia suite to see how well it handles floating point numbers. I compiled the program by modifying the IN and OUT units to be 0 (as opposed to the real-world's 5 and 6), and used 'fortran' with no other options. Well, here's what it found: The number of SERIOUS DEFECTs discovered = 1 The number of DEFECTs discovered = 5 The number of FLAWs discovered = 2 The arithmetic diagnosed has unacceptable Serious Defects. End of Test. I deleted a lot of the output, showing the flaws (14 pages worth of it). Has anyone else tried to use paranoia to see how flakey it is? I'm going to try doing the double-precision fortran and the C versions and see how they compare. Keep your ears open! BTW: If anyone out there is interested, I'm using V2.2 (from sometime in 1984). Anybody out there with LPIFortran want to try and run this for comparison? j -- Jeffrey L. Bromberger System Operator---City College of New York---Science Computing Facility jeffrey@sci.ccny.cuny.edu jeffrey@ccnysci.BITNET Anywhere!{cmcl2,philabs,phri}!ccnysci!jeffrey
jeffrey@notvax.ccny.cuny.edu (Jeffrey Bromberger) (03/02/91)
In article <1991Mar1.194517.10627@notvax.ccny.cuny.edu> I write: [Failures in single precision PARANOIA] > The number of SERIOUS DEFECTs discovered = 1 > The number of DEFECTs discovered = 5 > The number of FLAWs discovered = 2 > The arithmetic diagnosed has unacceptable Serious Defects. Well, I did the double precision and C versions, and you wouldn't believe the results: [Double precision PARANOIA] The number of DEFECTs discovered = 4 The number of FLAWs discovered = 2 The arithmetic diagnosed may be Acceptable despite inconvenient Defects. And from the C version: The number of FAILUREs encountered = 1. The number of SERIOUS DEFECTs discovered = 1. The number of DEFECTs discovered = 3. The number of FLAWs discovered = 2. The arithmetic diagnosed has unacceptable Serious Defects. Potentially fatal FAILURE may have spoiled this program's subsequent diagnoses. I wonder just what's going on here. I haven't done the double-precision fix to notvax; I'll run this again on my home machine that has been fixed. All this might mean nothing, just that it's not correct to have so much in the error department. For those who use floating point math, beware! j -- Jeffrey L. Bromberger System Operator---City College of New York---Science Computing Facility jeffrey@sci.ccny.cuny.edu jeffrey@ccnysci.BITNET Anywhere!{cmcl2,philabs,phri}!ccnysci!jeffrey
pschmidt@athena.mit.edu (Peter H. Schmidt) (03/02/91)
In article <1991Mar1.203900.11034@notvax.ccny.cuny.edu> jeffrey@sci.ccny.cuny.edu (Jeffrey Bromberger) writes: >> The arithmetic diagnosed has unacceptable Serious Defects. > I found this soon after I got my 3b1, since I tested Unix sysytems for a living in a previous life. But, there's good news and bad news. The bad news is that there may not be much we can do about this. Remember that Paranoia hasn't been around on Unix machines for more than a couple years, and vendor awareness of the importance of conforming to the IEEE floating point spec (for Unix machines) only really struck with the advent of workstations. The graphics involve mucho floating point, and the flaw in your roundoff routines becomes real apparent when your X-windows "ico" starts to look more like a crumpled paper towel (I actually had to use this as a demo to convince one of our more recalcitrant developers ;-). When the 3b1 was being worked on, no one probably placed much importance on getting every nit-picking detail of the float spec right... The good news is that the flaws mentioned won't affect most of the work a 3b1 is best suited for. After all, it isn't exactly a FLOPS power house. It's too bad though. Can anyone out there with experience in this area provide any hope? Regards -- Peter -- Peter H. Schmidt | ...mit-eddie!winter!pschmidt 3 Colonial Village, #10 | winter!pschmidt@mit-eddie.mit.edu Arlington, MA 02174 | -- Speaking for myself.
thad@public.BTR.COM (Thaddeus P. Floryan) (03/02/91)
In article <1991Mar1.194517.10627@notvax.ccny.cuny.edu> jeffrey@sci.ccny.cuny.edu (Jeffrey Bromberger) writes: >Before porting over a large graphic library, I decided to run the single >precision paranoia suite to see how well it handles floating point numbers. >[...] >BTW: If anyone out there is interested, I'm using V2.2 (from sometime >in 1984). Anybody out there with LPIFortran want to try and run this for >comparison? I tried the Feb 1989 "C" version with double precision and received essentially the same results that Jeffrey laments. I checked the results VERY carefully and didn't see anything to cause me any concern, and I do ALL my financial stuff on the 3B1 (using all my own programs). I've tested a large number of other systems and, overall, the 3B1 is not too bad. Among the systems were several models of H-P/9000 systems (both RISC (Spectrum) and 68030/68882), DEC VAX, DEC-20, Apple Mac with A/UX (68020/ 68881), Convergent MightyFrame (68020/68881), Amiga (68020/68881) etc. and, again, I have NO concerns using the 3B1 for financial calculations for my tax reporting and other purposes. Sheesh, some of the "serial defects" are of the form of one bit being off in numbers like 1E+304, and divide by zero ... none of those conditions are meaningful in MY financial world! :-) Thad Floryan [ thad@btr.com (OR) {decwrl, mips, fernwood}!btr!thad ]
jeffrey@sci.ccny.cuny.edu (Jeffrey L Bromberger) (03/03/91)
In article <1991Mar2.014748.23501@athena.mit.edu> pschmidt@athena.mit.edu (Peter H. Schmidt) writes: >In article <1991Mar1.203900.11034@notvax.ccny.cuny.edu> jeffrey@sci.ccny.cuny.edu (Jeffrey Bromberger) writes: >>> The arithmetic diagnosed has unacceptable Serious Defects. >Paranoia hasn't been around on Unix machines for more than a couple years, and >vendor awareness of the importance of conforming to the IEEE floating point >spec (for Unix machines) only really struck with the advent of workstations. Well, I don't know about that. Our old 11/780 (while it *is* much bigger, but slower in CPU stuff) does this stuff reasonable well. Some of our 68K based machines also do it well. And they are from before the 3b1. After seeing those errors, I wonder how my old VIC-20 would do with them! >The graphics involve mucho floating point, and the flaw in your roundoff >routines becomes real apparent when your X-windows "ico" starts to look more >like a crumpled paper towel (I actually had to use this as a demo to convince >one of our more recalcitrant developers ;-). So much for porting over a generic graphics library - I cannot ever hope to explain to my thesis committee why that nice smooth surface resembles a crumpled paper towel :-) >The good news is that the flaws mentioned won't affect most of the work a 3b1 >is best suited for. After all, it isn't exactly a FLOPS power house. Power house or not, there are folk trying to run SPICE on this thing. That is what prompted Jim Adams (from U of Cincinnati) to fix the floating point stuff. BTW: even after fixing the libraries, nothing improved. Not a single thing. How's that for a bummer! Anybody out there good in writing math libraries? (asbestos donned) j -- Jeffrey L. Bromberger System Operator---City College of New York---Science Computing Facility jeffrey@sci.ccny.cuny.edu jeffrey@ccnysci.BITNET Anywhere!{cmcl2,philabs,phri}!ccnysci!jeffrey
templon@copper.ucs.indiana.edu (jeffrey templon) (03/03/91)
In article <1991Mar3.013043.7243@sci.ccny.cuny.edu> jeffrey@sci.ccny.cuny.edu (Jeffrey L Bromberger) writes: >floating point stuff. BTW: even after fixing the libraries, nothing >improved. Not a single thing. How's that for a bummer! > >Anybody out there good in writing math libraries? (asbestos donned) > That's kind of strange; why wouldn't things get better after fixing the floating point libraries?? That must mean that they are not really fixed. About the math libraries? I have two suggestions - first is to try the ARCHIE server and ask it about math libraries. Second is to post an article to sci.math.num-analysis and ask them. Maybe someone has written one that's portable (or easily convertible.) Jeff
templon@copper.ucs.indiana.edu (jeffrey templon) (03/04/91)
An article was just posted to comp.os.minix regarding a public domain floating point library. Here is the header. Article 14895 in comp.os.minix: From: cwr@pnet01.cts.com (Will Rose) Subject: PC Minix Floating Point Message-ID: <7807@crash.cts.com> Date: 4 Mar 91 05:16:15 GMT Sender: root@crash.cts.com Organization: People-Net [pnet01], El Cajon CA Lines: 168 Reference the recent request for Minix floating point code, Peter Housel's fp code compiles under PC 1.5.10 with no problems that I can find - I used the following Makefile: Good Luck -- Jeff
jeffrey@sci.ccny.cuny.edu (Jeffrey L Bromberger) (03/04/91)
In article <1991Mar3.154854.28924@bronze.ucs.indiana.edu> templon@copper.ucs.indiana.edu (jeffrey templon) writes: >In article <1991Mar3.013043.7243@sci.ccny.cuny.edu> I wrote: >>BTW: even after fixing the libraries, nothing >>improved. Not a single thing. How's that for a bummer! > >That's kind of strange; why wouldn't things get better after fixing the >floating point libraries?? That must mean that they are not really >fixed. Well, after looking carefully at the Paranoia program I have come to the conclusion that the fix really has little to do with what this program is testing. That fix, if you remember, adjusted the max values for double precision numbers. This would have really no effect on how well she rounds. :-( As for a duplicate library, that might not be such a bad idea. I'll look into it and see what I get. j -- Jeffrey L. Bromberger System Operator---City College of New York---Science Computing Facility jeffrey@sci.ccny.cuny.edu jeffrey@ccnysci.BITNET Anywhere!{cmcl2,philabs,phri}!ccnysci!jeffrey