MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: parallel table

  • To: mathgroup at smc.vnet.net
  • Subject: [mg107283] Re: parallel table
  • From: Vince Virgilio <blueschi at gmail.com>
  • Date: Mon, 8 Feb 2010 03:33:43 -0500 (EST)
  • References: <hkm7br$oqi$1@smc.vnet.net>

On Feb 7, 6:15 am, Very Bad Mother... <shinytinkerb... at googlemail.com>
wrote:
> Hello,
> I would like to create a "film" from the numerical data that I got.
> Hence, I've created a table of plots and then by exporting to gif I
> can observe the dynamics. The problem is that I'd like to have many
> plots inside this table (many frames of my film, so to say) and it
> takes a hell of a time. This is why I thought about making this
> parallel (got 8 cores). I've used ParallelTable but there are some
> errors occuring:
>
> DensityGraphicsTable =
>   ParallelTable[
>    ListDensityPlot[ToExpression["Psit" <> ToString[j - 1]],
>     FrameLabel -> {"m", "z"},
>     LabelStyle -> {FontFamily -> "Helvetica", FontSize -> 12},
>     PlotRange -> All, PlotLabel -> "t=" <> ToString[dt*(j - 1)]], {=
j,
>     1, tmax, tstep}];
>
> ListDensityPlot::arrayerr: Psit0 must be a valid array.
> ListDensityPlot::arrayerr: Psit250000 must be a valid array.
> ListDensityPlot::arrayerr: Psit500000 must be a valid array.
> ListDensityPlot::arrayerr: Psit750000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1000000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1250000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1500000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1750000 must be a valid array.
> ListDensityPlot::arrayerr: Psit50000 must be a valid array.
> ListDensityPlot::arrayerr: Psit300000 must be a valid array.
> ListDensityPlot::arrayerr: Psit550000 must be a valid array.
> ListDensityPlot::arrayerr: Psit800000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1050000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1300000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1550000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1800000 must be a valid array.
> ListDensityPlot::arrayerr: Psit100000 must be a valid array.
> ListDensityPlot::arrayerr: Psit350000 must be a valid array.
> ListDensityPlot::arrayerr: Psit600000 must be a valid array.
> ListDensityPlot::arrayerr: Psit850000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1100000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1350000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1600000 must be a valid array.
> ListDensityPlot::arrayerr: Psit1850000 must be a valid array.
>
> General::stop: Further output of ListDensityPlot::arrayerr will be
> suppressed during this calculation.
> General::stop: Further output of ListDensityPlot::arrayerr will be
> suppressed during this calculation.
> General::stop: Further output of ListDensityPlot::arrayerr will be
> suppressed during this calculation.
> General::stop: Further output of ListDensityPlot::arrayerr will be
> suppressed during this calculation.
> General::stop: Further output of ListDensityPlot::arrayerr will be
> suppressed during this calculation.
> General::stop: Further output of ListDensityPlot::arrayerr will be
> suppressed during this calculation.
> General::stop: Further output of ListDensityPlot::arrayerr will be
> suppressed during this calculation.
> General::stop: Further output of ListDensityPlot::arrayerr will be
> suppressed during this calculation.
>
> So I don't know what to do, especially that when I use regular Table
> instead of ParallelTable, everything works (but it takes damn long
> time).
> Any help would be appreciated,
> --
> regards,
> tinkerbell

Your subkernels probably don't have the definitions for Psit... .

There are at least a couple of ways to solve this: (1) give them with
DistributeDefinitions, or (2) put the Psit values in the ParallelTable
iterator.

(1)  DistributeDefinitions[Psit...]. Or perhaps simpler: create a set
of DownValues on symbol Psit . . . Psit[0] instead of a set of symbols
with root Psit. Then DistributeDefinitions with single argument Psit.

(2)  ParallelTable[ListDensityPlot[array, ...], {array,
ToExpression["Psit" <> ToString@#]& /@ Range[0, tmax - 1, tstep]}]

I did not test either option.

Vince Virgilio


  • Prev by Date: Re: Re: A New Scientist article verified with Mathematica
  • Next by Date: Re: parallel table
  • Previous by thread: parallel table
  • Next by thread: Re: parallel table