Re: In V7, is it possible to parallelize DensityPlot?
- To: mathgroup at smc.vnet.net
- Subject: [mg94346] Re: In V7, is it possible to parallelize DensityPlot?
- From: Phil I <p.ingrey at gmail.com>
- Date: Wed, 10 Dec 2008 05:12:08 -0500 (EST)
- References: <gglsti$8gk$1@smc.vnet.net> <ggog30$s7s$1@smc.vnet.net>
On Nov 28, 10:10 am, Jens-Peer Kuska <ku... at informatik.uni-leipzig.de> wrote: > Hi, sincs version 6. Mathematica uses an adaptive mesh for the density plot and there are *no* in the plot. Only triangles as to see from: DensityPlot[Sin[x*y], {x, -Pi, Pi}, {y, -Pi, Pi}, Mesh -> All] and since the mesh subdivision seems to be a global operation it would be very hard to parallelize it. > sincs version 6. Mathematica uses an adaptive mesh for the density plot > and there are *no* in the plot. Only triangles as to see from: > > DensityPlot[Sin[x*y], {x, -Pi, Pi}, {y, -Pi, Pi}, Mesh -> All] > > and since the mesh subdivision seems to be a global operation it > would be very hard toparallelizeit. > > The final rendering is done by the graphics card and since it is a IO > operation it can't be parallel outside of the graphics card. > > Regards > Jens > > Stoney Ballard wrote: > > It seems that DensityPlot is a natural candiate for parallelization, > > but my experiments in Mathematica V7 all result in the warning "... > > cannot be parallelized; proceeding with sequential evaluation". Is > > this capability just not yet implemented, or is there a trick to get > > multiple pixels to be evaluated in parallel? Stoney, Jens is right about the adaptive mesh. The only way around this is to evaluate a list of values before hand (basically define your own mesh) and this can be "parallelized" and then the result can be put in a ListDensityPlot: dplist = Parallelize[ Table[{x, y, Sin[x] Cos[2 y]}, {x, 0, 2 \[Pi], \[Pi]/16}, {y, 0, 2 \[Pi], \[Pi]/16}]]; ListDensityPlot[Flatten[dplist, 1]] Hope this helps, Phil