Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: I vote NO on Motion P1788/M0024.02:RoundedOperations



Ian:

As I said already in my answer on Dan's mail the motion does not require hardware instructions with explicit rounding modes!

The motion requires arithmetic operations with the directed roundings as distinct operations. The rounding shall be an integral part of the operation.

These operations are the basic building blocks for interval arithmetic. For a quarter of a century these operations have not been available and this was felt as great deficiency for interval arithmetic. Of course, many tricks have been developed to code around this. But with an interval arithmetic standard these times definitively shall be left behind.

Best wishes
Ulrich


Am 13.05.2011 23:52, schrieb Ian McIntosh:

I vote NO on motion 24.

I agree high performance is an important goal, which is why I suggested allowing one of the bounds to be negated to avoid rounding mode changes.

It isn't feasible to require hardware instructions with explicit rounding modes though:
1. As Dan said, it rules out a conforming implementation on most existing architectures, and getting implementations on them is an essential goal.
2. Many instruction set architectures just don't have enough bits in the instructions to add a rounding mode field, forcing them into a CISC variable length instruction approach.
3. Even where a new rounding mode field can be added, it delays implementation 1/4 to 1/2 decade.
4. The definition of "in hardware" is fuzzy:
a. Does it have to be fast?
b. Can the instruction trap to an operating system emulation routine? There are current "hardware" instructions doing that.
c. Can it be done by firmware with no special hardware to implement it? There are current "hardware" instructions doing that.
d. Can some members of an architecture family have explicit rounding instructions, while others don't?
If a software vendor develops a 1788 implementation for an architecture family for which one CPU model has instructions with explicit rounding modes, but also provides support for older CPUs which do not, can it claim conformance or not?
e. If it's slower to use new instructions than not to, is the implementation required to use them?
5. It doesn't solve other performance issues; for example, at the same point that you need to set the rounding mode you may also have to suppress trapping on overflows.
6. 754 doesn't require any hardware. It can be done entirely in software. Programming languages don't require specific hardware.
7. It's up to the hardware implementers to decide what their market needs and wants, and how best to satisfy their customers.

Not really part of this motion: One implication of defining level 1 first without considering other levels is that we've made other decisions that likely require special hardware to be fast. If we care about performance we should think carefully about them once we get to those levels and understand their costs.

- Ian McIntosh IBM Canada Lab Compiler Back End Support and Development


Inactive
          hide details for Dan Zuras Intervals ---05/13/2011 10:44:49
          AM--- Folks, I vote NO on Prof Kulish's motion to requireDan Zuras Intervals ---05/13/2011 10:44:49 AM--- Folks, I vote NO on Prof Kulish's motion to require a


From:

Dan Zuras Intervals <intervals08@xxxxxxxxxxxxxx>

To:

Ian McIntosh/Toronto/IBM@IBMCA

Date:

05/13/2011 10:44 AM

Subject:

I vote NO on Motion P1788/M0024.02:RoundedOperations





Folks,

I vote NO on Prof Kulish's motion to require a
conforming implementation to provide explicit
hardware instructions for directed rounding
operations.

There are many reasons.

We are an arithmetic standards body not a hardware
standards body.  It is not our place to dictate
how our implementers shall design their hardware.

Also, to do so would eliminate nearly all existing
hardware from any possibility of conforming to our
standard.  This would severely limit acceptance of
1788 in the market.

We have already gone out of our way to provide for
the flexibility necessary to eliminate the need for
frequent changes in rounding mode.  For example,
permitting representations of the form [-inf,sup]
rather than [inf,sup].  Thus, much of the performance
improvement Prof Kulish seeks can already be had on
existing hardware without new instructions.

All of that having been said, what Prof Kulish
suggests would clearly be a good idea for any
architecture that permits it.  Indeed, some already
have such instructions.  But it is up to the hardware
designers to decide what is best for their customers,
not us.

Perhaps someday hardware designers will include even
more useful instructions than explicit directed
rounding instructions.  If 1788 is successful we may
even see explicit interval registers with explicit
interval add, subtract, et al.

But not today.

And not by our demanding it of them.

That's how I feel anyway.

Yours,

Dan




-- 
Karlsruher Institut für Technologie (KIT)
Institut für Angewandte und Numerische Mathematik (IANM2)
D-76128 Karlsruhe, Germany
Prof. Ulrich Kulisch

Telefon: +49 721 608-42680
Fax: +49 721 608-46679
E-Mail: ulrich.kulisch@xxxxxxx
www.kit.edu
www.math.kit.edu/ianm2/~kulisch/

KIT - Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft