Performance Performance Performance

David G. Hough at validgh dgh
Mon Jan 16 22:23:58 PST 1995


>> dgh said
> tam sai
dgh says

> As you point out, the answer is "well not quite."  Another thing to
> consider is that although IEEE format is almost universally implemented,
> IEEE arithmetic is not always implemented according to the letter (or
> spirit) of the law.  Often times only a subset of the arithmetic is
> supported.

If all inferior low-end implementations can't conform to a standard and
go out of business I can't lament the loss.   They really had nothing to
offer in trade for being different and not different in a better way.
As I said in the original,
the high end is different; if you can afford a supercomputer, you can
afford the analysts that let you get the most out of it despite its design
decisions that wouldn't be justified at the low end.   Different people
would draw the line differently, but if it plugs into normal office power
and sits on your desktop, I consider that low-end enough for these purposes.

> I still question if mandating portability stifles creativity too much.
> Should we provide some latitude to hardware designers to tweak other
> areas (like performance) at the expense of portability.

I have no problem with deviations from standards that attain some benefit
for the ultimate user.   I think of standards sometimes in an older sense
as a stick 
by which you measure things - some measure up completely, some only
partially, some not at all, but all these things may have their uses.
My problem is with gratuitous deviations from standards
that only gain time to market for
the vendor because he wasn't willing or able to figure out the right way to
do it.

> > an accountant or technician than a numerical analyst - technical support
> > people often respond that that's just the way floating-point arithmetic is
> > - an inherently unpredictable process, like the weather.    All these

The veteran Apple NumBulls on this list will remember the section in the
Applesoft manual titled "Rounding is Peculiar," which took this attitude.
I might have conveyed technical support's meaning better by calling arithmetic 
"an inherently unmanageable process like the weather" - what lawyers
refer to as "Acts of God."

> Leading edge science seems to be going more and more parallel every day.

Parallel processing will be important for many computational situations, 
but I doubt that most PC users could really benefit from multi-threading
a single process - those whose spreadsheets could really benefit from that
in terms of performance would be most likely to lament the loss of
determinism if fine-grain parallelism were applied to the max.
Although I expect to see multiple (typically two) processors in desktops
common in a few years, I expect they will be applied at a higher level of
parallelism that won't affect numerical results, e.g. no reduction operations
in parallel.

> appropriate?  A vendor might have concerns about testing and supporting
> multiple environments (though most vendors have a strictly Standard C
> mode) but it lends itself to the "experiment your brains out" mode and
> "portability is on the pedestal" mode.  We still need the hardware
> engineers to provide a reasonable implementation to a strictly
> portable mode.

Sun compilers must have at least 32 options which affect code generation,
each of which has at least two possible settings, leading to more possible
compiled results for one program than you can count in a SPARC V8 int.
So I doubt adding one more such option with only two settings will make
the test and verification problem much worse.  I presume other compiler
vendors are in a similar situation.



More information about the Numeric-interest mailing list