comp.lang.ada
 help / color / mirror / Atom feed
* Loops and parallel execution
@ 2011-01-25 15:40 Georg Bauhaus
  2011-01-25 16:37 ` Dmitry A. Kazakov
                   ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Georg Bauhaus @ 2011-01-25 15:40 UTC (permalink / raw)


A quick idea.  Assume that some subprogram Op from package P
is reentrant (and does not depend on global state). Then,

with P;
...
   for K in all First .. Last loop
       P.Op (K);
   end loop;

should have the effect of the following being permitted:

(a) to pick K from  First .. Last  in any order

(b) to execute P (J) in parallel with P (K) for J, K from
First .. Last

The same would be allowed for sufficiently simple expressions:

   for K in all First .. Last loop
       L(K) := Standard."*" (K, 3);
   end loop;

Can this be borrowed from HPF (IIUC)?
Is pragma Pure (P) sufficient to signal reentrance?



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2011-02-15 21:10 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-25 15:40 Loops and parallel execution Georg Bauhaus
2011-01-25 16:37 ` Dmitry A. Kazakov
2011-01-25 17:36   ` Georg Bauhaus
2011-01-25 17:38     ` Georg Bauhaus
2011-01-25 21:32     ` Dmitry A. Kazakov
2011-01-25 22:07       ` Georg Bauhaus
2011-01-26  1:31         ` Yannick Duchêne (Hibou57)
2011-01-26  9:04         ` Dmitry A. Kazakov
2011-01-26  1:06       ` Yannick Duchêne (Hibou57)
2011-01-26 10:08         ` Dmitry A. Kazakov
2011-01-31 13:01         ` Paul Colin Gloster
2011-02-06 20:06           ` Yannick Duchêne (Hibou57)
2011-02-07 11:43             ` Nicholas Paul Collin Gloster
2011-01-26  8:46 ` Egil Høvik
2011-01-26 10:47   ` Georg Bauhaus
2011-02-14 23:27     ` Tuck
2011-02-15 21:10       ` Georg Bauhaus
2011-01-26 11:29 ` Peter C. Chapin
2011-01-26 21:57 ` Randy Brukardt
2011-01-27 23:01   ` tmoran
2011-01-29  0:23     ` Randy Brukardt
2011-02-06 20:10       ` Yannick Duchêne (Hibou57)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox