From: stt@houdini.camb.inmet.com (Tucker Taft)
Subject: Re: Precalculation of parameters (was: Software landmines)
Date: 1998/09/09
Date: 1998-09-09T00:00:00+00:00 [thread overview]
Message-ID: <Ez0tp1.59L.0.-s@inmet.camb.inmet.com> (raw)
In-Reply-To: 6t4a2e$nbk$1@nnrp1.dejanews.com
dennison@telepath.com wrote:
: In article <Eyz7Co.J4t.0.-s@inmet.camb.inmet.com>,
: stt@houdini.camb.inmet.com (Tucker Taft) wrote:
: > By the way, the original point that a "smart" compiler can parallelize:
: >
: > Op(Get_A(..), Get_B(..), Get_C(..))
: >
: > more easily than the "sequential" form involving named constants is a
: > bit bogus. To parallelize, the compiler needs to prove that Get_A,
: > Get_B, and Get_C don't interfere with one another. Given that, there
: > is no reason that the "sequential" form couldn't be parallelized as well.
: But if the language specifically states that the order of evaluation of
: parameters is undefined, then it doesn't have to prove they don't interfere.
: It can just assume they shouldn't.
Running two computations in parallel is very different
from running them in an "arbitrary" (but still sequential) order.
Suppose each function adds one to the global variable "Count". You
get the same result independent of which order the functions are
evaluated, but you don't get the same result if you run them in parallel,
and the machine instructions involved in adding one to the
global are interleaved arbitrarily.
: ... I don't know if that's the way Ada is
: defined, but I believe that was the claim that was being made.
: Is that actually the rule?
RM95 6.4(10) permits evaluation of parameters in an "arbitrary"
order. RM95 1.1.4(18) defines "arbitrary" order, indicating
that it must be an order that is equivalent to some sequential
ordering. If you have the annotated RM, it explicitly mentions
the example given above in AARM 1.1.4(18.d).
: --
: T.E.D.
--
-Tucker Taft stt@inmet.com http://www.inmet.com/~stt/
Intermetrics, Inc. Burlington, MA USA
next prev parent reply other threads:[~1998-09-09 0:00 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-08-22 0:00 Software landmines (was: Why C++ is successful) dewar
1998-08-23 0:00 ` Dale Stanbrough
1998-08-23 0:00 ` Andi Kleen
1998-08-23 0:00 ` dewar
1998-08-24 0:00 ` Richard D Riehle
1998-08-25 0:00 ` Andi Kleen
1998-08-25 0:00 ` Brian Rogoff
1998-08-25 0:00 ` dennison
1998-08-28 0:00 ` Matthew Heaney
1998-08-28 0:00 ` Richard D Riehle
1998-08-29 0:00 ` Matthew Heaney
1998-08-29 0:00 ` Matthew Heaney
1998-09-06 0:00 ` John G. Volan
1998-09-07 0:00 ` Mats Weber
1998-09-07 0:00 ` dewarr
1998-09-08 0:00 ` Tucker Taft
1998-09-08 0:00 ` Precalculation of parameters (was: Software landmines) dennison
1998-09-09 0:00 ` Tucker Taft [this message]
1998-09-09 0:00 ` dennison
1998-09-10 0:00 ` Tucker Taft
1998-09-10 0:00 ` dewarr
1998-09-16 0:00 ` Software landmines (was: Why C++ is successful) Matthew Heaney
[not found] ` <35eca5d9.4354839@news.geccs.gecm.com>
1998-09-01 0:00 ` Richard D Riehle
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox