0

I'm using pov-ray (Rendering tool) in Linux. I've to parallelize my code so I can use 10 computers at the same time for rendering, I've to use torque_pbs to accomplish this task. I have an idea how to divide the pixels with the number of processes and all. But the problem is I don't know how to send chunks of pixels as a pbs_job to other computers and I also don't know how to combine the outputs from different machines into one big picture ?

All I know is that, I've to write one bash script for this.

Dima Chubarov
  • 16,199
  • 6
  • 40
  • 76
  • I don't know about parallelizing your program, but TORQUE will aggregate the stdout of each child process and output it to the same output file. If this isn't feasible, another possibility would be writing to a specified location on a network filesystem. – dbeer Apr 29 '13 at 23:09

1 Answers1

0

POV-Ray is a rendering engine used for high-quality 3D still images. While in 3D animation the most obvious approach to parallelization is to render individual frames separately, POV-Ray parallelization would require cutting the image plane into individual tiles, and distributing them for parallel rendering. Later the tiles need to be reassembled into a single image.

There are a number of scripts for running POV-Ray executable on a distributed system that you could find on the web. Consider for instance this instruction for NIH Biowulf users. This relies on the swarm script that runs on top of the PBS scheduler.

To talk of the details of the NIH povray_swarm script a deeper understanding of povray is needed than I currently have.

Dima Chubarov
  • 16,199
  • 6
  • 40
  • 76