[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Clause 10, Expression Evaluation



You don't get a high-performance
program by throwing together a shell script with "eval" and then spotting
you should be using a blocked cyclic distribution of seven matrices over
your 200-cpu cluster.

A lot of old programs I have to deal with look little better than that.
They started small and then grew... and it usually seems more economic to hack
on a new feature than to redesign from scratch for performance.
So as Keith mentioned, stuff gets rewritten bit by minimal bit as performance
pain points develop with advancing technology.

But it is true that a thoughtful re-architecting of the program for better
performance will usually yield more than fiddling with compiler optimization
switches.     But the latter can be automated.

"Better programming languages" and "better hardware architectures" to  
match them are part of the long-term solution,

Ah, the myth of "the language must match the hardware".

Bad phrasing on my part.     
I do not advocate a revival of Intel 432 or Symbol.
The hardware and software architectures need
to evolve together.    Indeed, I would say that this is the essence of
system architecture - defining the right division between hardware 
and system software and programmer effort.     This is difficult nowadays
because most people only get to influence a small part of the whole.

It's none of 754's business what languages choose to make important.

It is 754R's business to specify what's needed for numerical computing.
It is up to each language to decide how much they are going to support
that goal.

It's particularly galling since 754R even now does not specify
reproducible single operations - the obvious example being the options
for underflow.

Here we are in agreement.    But the platonic ideal of standardization
runs aground on the realities of conflicting commercial interests
deciding questions by majority vote.
Having two ways of deciding underflow, two ways of signaling invalid in fma,
two ways of encoding decimal floating-point arithmetic... doesn't 
correspond to any end-user demand.    End users don't have the 
motivation to attend years of standards meetings, but chip and system
vendors do.

754 | revision | FAQ | references | list archive