• Povray seems to need to have you spawn at least 1 more process than you have processors...my guess is that it uses one as a master that doesn't do computation. The clue is that it won't let you run with just one proc. The other clue is that on my dual core box (with HyperThreading too) my performance is the same as one proc when I spawn 2.

Curiously, HyperThreading seems to help. It may be that it is, as I have expressed, because HT is really an optimized scheduler done in hardware. Maybe there is some spotty useage of execution units. Or, it helps smooth things out as some parts of the image take longer to render than others.

'nodes' spawned time (min:secs) speedup vs 3.1g serial
1 (Povray 3.1g) 3:36 N/A
1 (Povray 3.5) 3:08 1.2x
2 3:16 1.1x
3 2:44 1.3x
4 2:06 1.7x
5 1:38 2.2x
6 1:40 2.2x


This was with the chess2.pov scene at 640x480. I rendered with the graphics on, which normally makes a difference but shouldn't with this non-trivial rendering.

My serial runs were done with the completely unpatched, stock versions.

Here's my render line: mpirun -np 5 /usr/local/bin/mpi-x-povray +NH64 +NW160 +W640 +H320 +L/usr/local/povray/include -i /usr/local/povray/scenes/advanced/chess2.pov +v1 -d +ft -x +a0.300 +r3 -q9 -w640 -h480 -mv2.0 +b1000 +D +P

  • Unfortunately, the current MPI Povray patch only works with the older Povray version 3.1g. So I was careful to compare my 'parallel' scores with the same 'serial' release.

  • The blocking sizes seem to require that the width ( NW ) is greater than the height ( NH ).

-- MattWalsh - 14 Aug 2005

Topic revision: r1 - 14 Aug 2005 - MattWalsh
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2012 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback