Re: Do -like iteration construct with parallel steps?
- To: mathgroup at smc.vnet.net
- Subject: [mg84929] Re: Do -like iteration construct with parallel steps?
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Sun, 20 Jan 2008 03:33:18 -0500 (EST)
- References: <fmq0fo$ass$1@smc.vnet.net>
Hi, what mean "it steps all the variables in parallel" Your computer is essential a von Neuman machine and will work sequential. A sample implementation of a Do[] is .. SetAttributes[DoLoop, HoldAll] DoLoop[body_, {iter_Symbol, from_Integer, to_Integer}] := Module[{cnt = from}, While[True, ReleaseHold[Hold[body] /. iter -> cnt++]; If[cnt > to, Break[]] ]; Null ] or do you mean SetAttributes[ParallelLoop, HoldAll] ParallelLoop[body_, {iter_Symbol, from_Integer, to_Integer}] := Module[{cnt}, ReleaseHold[Hold[body] /. iter -> #] & /@ Table[cnt, {cnt, from, to}]; Null ] but this is *not* really, parallel because the function ReleaseHold[Hold[body] /. iter -> #] & run sequential over the table of values But you may buy the Parallel Computing Toolkit that has commands for parallel execution but you need more than a two Mathematica Kernels Regards Jens Louis Theran wrote: > Is there an iteration construct similar to Do, except that it steps > all the variables in parallel (as opposed to the ``nested'' way Do > does it)? I didn't see anything in the standard library, and I > couldn't figure out how to make one myself, so I figured I'd ask if > anybody has written this. (Even a sample implementation of Do as it > is would be helpful.) > > Thanks. > > ^L > >