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

RE: what if "languages" don't respond to 754R ?



Nick,

If it ISN'T the intent, then what on earth does Annex B mean in
the context of Fortran+OpenMP?  IEEE 754R doesn't want them on
board?

I don't really know what they mean in the context of Annex B,
since I suspect that annex is changing and I won't see the changes
until the next BRC draft is released.

Because you can't have reproducibility for all programs.

My opinion is that ReproducibleResults should be a property for
which conforming implementations can claim conformance. The
nonconforming implementations cannot make such a claim.

I would prefer to have this _not_ be tied to the whole standard,
in that one could claim 754 conformance w/o claiming
ReproducibleResults conformance, or something similar.

Its not at all unusual for standards to have multiple entities
to which conformance can be claimed, in either independent
or dependent fashions.

In fact, 802 provides useful checksheets (called PICS, if
you wish to research them) for doing just this kind of
conformance quantization. I found them to be very useful
when working on 802.17; perhaps they are applicable herein.

Cheers,
DVJ



-----Original Message-----
From: stds-754@xxxxxxxx [mailto:stds-754@xxxxxxxx]On Behalf Of Nick
Maclaren
Sent: Friday, July 13, 2007 10:24 AM
To: stds-754@xxxxxxxx
Subject: RE: what if "languages" don't respond to 754R ?


"David James" <dvj@xxxxxxxxxxxx> wrote:

Thanks for contributing to most interesting discussions.

No problem.  I apologise for times I have sounded a bit ratty.

IMHO, you have only shown that reproducible results are
not possible in a particular scenario, not for parallel codes
in general.

Yes and no.  You have it the wrong way round.  I have shown that
it is impossible to require for a general (i.e. arbitrary) parallel
code.  I agree that it is possible for some restricted classes of
parallel code.

If one looked at matrix multiplication, for example, ...

In general, any SIMD operation on a finite, uniform set of data
can be.  That is the main reproducible (and automatically
optimisable!) case.

Are you perhaps more concerned about a specific class of parallel
codes?

No.

Let's try again.  If Annex B is to be normative, it must apply to
a language - and hence to all 'correct' programs written in that
language.  If it is to apply to only some of them, then (a) it
must say so and (b) it must specify which it applies to and which
it does not.  And, of course, the language standard must do the
same for the programs it regards as 'correct'.

C attempted this with its 'strictly conforming', but that is a
total failure.  There are precisely two functionally distinct
strictly conforming programs:  one which returns EXIT_SUCCESS and
one which returns EXIT_FAILURE.  Neither do anything useful.

At present, it does neither, so let's assume that it is not the
intent.  If it IS the intent, then let's see at least a draft
specification of how to distinguish programs that are required to
give reproducible results from ones that are not.

If it ISN'T the intent, then what on earth does Annex B mean in
the context of Fortran+OpenMP?  IEEE 754R doesn't want them on
board?  Because you can't have reproducibility for all programs.


Regards,
Nick Maclaren,
University of Cambridge Computing Service,
New Museums Site, Pembroke Street, Cambridge CB2 3QH, England.
Email:  nmm1@xxxxxxxxx
Tel.:  +44 1223 334761    Fax:  +44 1223 334679

754 | revision | FAQ | references | list archive