Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!mailrus!uflorida!gatech!gitpyr!loligo!mccalpin From: mccalpin@loligo.fsu.edu (John McCalpin) Newsgroups: comp.arch Subject: Re: MIPS supports 80- & 128-bit floats. Message-ID: <352@loligo.fsu.edu> Date: 4 Jan 89 22:10:31 GMT References: <350@loligo.fsu.edu> <83722@sun.uucp> Reply-To: mccalpin@loligo.cc.fsu.edu (John McCalpin) Organization: Supercomputer Computations Research Institute Lines: 39 In article <83722@sun.uucp> khb@sun.UUCP (Keith Bierman - Sun Tactical Engineering) writes: >In article <350@loligo.fsu.edu> mccalpin@loligo.UUCP (John McCalpin) writes: >> >>An option that seems to be taken by many vendors is to adopt the IEEE >>*format* without adopting all of the *rules*. Admittedly, this is a >>dangerous choice, but it does aid portability. > >If there is a 32-bit mode (and its being used) I would be very worried >about the quality of a non-ieee "algorithm" using ieee formatted >numbers. For 64-bit machines the problem is not as severe... > >Keith H. Bierman I certainly agree with that fear, and insist on testing my 32-bit codes pretty thoroughly before trusting them. An interesting example (which I referred to in my paper in SUPERCOMPUTING a few months back) is the 1000x1000 LINPACK benchmark test. The matrix is fairly poorly conditioned, so requires some care in 32-bit mode. I include a sample of my results below. The numbers scale so that the absolute value of the exponent of the RMS error is about the number of significant digits of accuracy in the solution. machine precision RMS error in solution (*) --------------------------------------------------------------------- Cyber 205 / ETA-10 32-bit 2.22521256e-01 IBM 3081 32-bit 2.37465184e-03 IEEE standard 32-bit 2.82104476e-04 --------------------------------------------------------------------- Cyber 205 / ETA-10 64-bit 1.32111221e-08 Cray X/MP 64-bit 2.47078473e-11 IEEE standard 64-bit 2.27274978e-13 --------------------------------------------------------------------- Cyber 205/ETA-10 128-bit 1.60755733e-22 Cray X/MP 128-bit 4.15861230e-26 NOTES: (*) The solution vector consists of 1000 identical elements = 1.0 (1) The IEEE standard was run on a Sun 3/280, which had passed the PARANOIA benchmark test.