Ray tracing: parallelization via image decomposition and performance impact
B.R. Sklar, Arun K. Somani · 2002
Ray tracing is a simple but effective technique for high quality graphics with sophisticated light models. The large number of ray-object intersection tests make ray tracing computationally intensive. Several techniques such as bounding volumes, spatial subdivision, and scene decomposition have been developed to make ray tracing more practical. Our research concentrate on image decomposition, where the pixels making up the image are decomposed to the various nodes. Each node is then responsible for a small part of the image, reducing the communication requirements. This decomposition of work is similar to the decomposition in the parallelization of other applications such as matrix multiply. But unlike these other applications, the amount of work is unknown before hand. We study the effects of network configuration, pipelining, external vs. internal bus contention, number of processors, and number of grains (sub-image region). We show that the number of grains is the most important variable in decomposition of the image, and that near linear speed-up can be achieved.