|
|
Nice. I've been content with just running folding@home on the other cores,
but this is nice.
Stephen Pope wrote:
>
> Hello all,
>
> I'd like to share a useful utility I developed for running povray on a set
> of scripts in parallel on multi-core servers. It's a simple C++ program
> (*nix & MacOSX) that can be run in parallel from makefiles to render
> successive frames of a scene with many threads of povray.
>
> The source code is at:
> http://FASTLabInc.com/pov-render.cpp
>
> Here's the header of the source.
>
> stp
>
> -----
>
> POV-Renderer -- Batch multi-core rendering server wrapper for povray
> (i.e., run povray on a set of scripts in parallel on multi-core servers)
> Stephen Pope - stp### [at] heaveneverywherecom - Dec, 2009, Feb, 2010
>
> This program can be run from a make file in multiple threads to schedule
> batch rendering with povray on multi-core machines. Each thread runs
> through the frames in sequence using a frame# lock file for
> synchronization. The typical Makefile entry is,
>
> # 2 renderer threads, each makes 600 out of 1200 frames for t = 0 to 1
> t4:
> echo 0 > frame_num
> nohup ./pov-render -n 600 -f 0 1200 -t 0.0 1.0 &
> sleep 2
> nohup ./pov-render -n 600 -f 0 1200 -t 0.0 1.0 &
>
> The cmd "make t4" will now fork 2 processes, which the OS will allocate to
> their own cores.
> You can run more threads on multi-core machines by editing the Makefile.
>
> The povray command generated to render frames in a thread has format:
>
> /opt/local/bin/povray +W1920 +H1080 +FN +Q9 +KC
> +I/home/stp/POV/Sc12.pov +O/scratch/stp/Sc1200
> +L/opt/local/lib/povray-3.6.1/include +L/home/stp/POV
> +KFI0 +KFF1000 +KI0.0 +KF1.0 +SF81 +EF81
>
> The details of the command options are in the C++ code below, and can be
> overridden from the render command.
>
> pov-render command flags
> -c command
> -n # frames to make
> -s starting frame
> -i in file
> -o out file
> -q quality
> -f F0 F1 -- start/end frame
> -t t0 t1 -- start/end time
> -x # threads
> -u print usage
>
> Compile this program like, (in Makefile),
> # target to compile renderer
> re:
> g++ -o pov-render pov-render.cpp # add -lpthread on Linux
>
> -----
Post a reply to this message
|
|