Notes for meeting at Sun in Menlo Park on Thursday 4/21/05 in the Sequoia Room in Building 16. David Hough hosted us. Prof Kahan, Jim Thomas, Peter Markstein, Dick Delp, Jon Okada, Ivan Goddard, John Harrison, Peter Tang, Jeff Kidder, Alex Liu, Mike Cowlishaw, Michael Parks & Dan Zuras attended. Eric Schwartz, Liang Kai Wang (from Wisconson), Steven Carlough, Joe Darcy, Dave James, & Leonard Tsai were on the phone. We began with Ivan, Dick, & I describing our objections to the online NaN proposal. Jeff argued in favor of the proposal. A general discussion of the issue ensued. I cut off the discussion at 1:30 in favor of Mike & Eric's presentations. Mike showed Eric's slides first. Eric's position is that millenial encoding is not easier than BCD in hardware. He described a 10-bit adder with a carry at 1024-24. (This is approximately correct for an add function but I can show him a much better way to do this for the adds within a multiply.) He compared this to the BCD adder which (with a 16-6 bit carry) looks quite similar. He also showed 4 different multiplication methods but did not consider any even slightly redundant representation. He made a point about the problems with Peter's exponent format & the need for divisions near the end of his presentation. Mike continued with the software part of their presentation. His slides described the variations possible with different "chunk" sizes. (He mentioned that we agreed to the DPD format in 2/2003. Sounds about right.) He used the Telco benchmark as a guide to his results. It seems that the performance is largely independent of chunk size. His results suggest that the software cost of DPD lookup is never worse that 2% overall. When doing conversions alone (with no other work) it rose to about 4% (but of course nothing is getting done in this case). Mike also spoke of the combination field & the difficulties of using Peter's approach for the sake of lexical ordering. He believes its about 30% added to the cost of conversions which he already showed was small. He showed the logic equations for conversion of millenial to BCD which is, naturally, obscene. Peter began his case study of DPD or GBCD to BCD conversions in software on the Intel XScale architecture which is apparently some small embedded processor they sell. First, several slides detail the DPD -> BCD assembly code. It looks like it takes 14 cycles on average (from 6.3 to 22.4 cycles). Then GBCD -> BCD. The code was 11 instructions long (with 2 multiplies in it). He has two cycle mutliplies but he hides the latency under the rearrangeent of the results &, therefore, takes 10.2 cycles in all cases. (The code size in the DPD case was 55 instructions but only anaverage of 14 were executed in any given case.) Then Peter also discussed the combination field in the encoding of the exponent & the MSD. He presented a new encoding that was similar to the existing encoding but included the whole exponent rather than just a couple of bits. Interesting but not lexical. Ah, but he CAN contrive a lexical ordering AFTER he decodes these bits. Finally, John wanted to talk about various notions of "format". DPD, GBCD, varients, internal formats, etc. He raised the issue of external versus internal formats. Or exchange versus computational formats. He proposed a terminology of 4 formats: Computational, Internal, Memory, & Exchange. He mentioned the possibility of just using strings as the exchange format. His conclusion is that, for the average user, the representation just doesn't matter. But for the fact that he presents his ideas BETTER than we have you might think that John had been listening in on the subcommittee meetings. At 3:40 or so we took our late break. After the break, Jeff presented his work from the subcommittee on our notions similar to John's. Then Prof Kahan presented his variant of the same notions. (He used the word coterie WRT decimal fixed point values differently than I understood it from our discussions.) I touched on the relationship between decimal & binary on this issue when you bring expressions into the discussion. Ivan also contributed in that he pointed out that care must be taken if predictable results are to be counted on from machine to machine. A lot of time was spent on a compiler complexity issue that I really didn't understand in the end. We broke up for dinner around 5:30. ----- Ivan, Dick, & I will talk on NaN issue 1/2 hour Eric (w guest rule) 1/2 hour Mike (w guest rule) 1/2 hour Peter Tang (w guest rule) 1/2 hour John Harrison (w guest rule) 1/2 hour