POV-Ray : Newsgroups : povray.pov4.discussion.general : A serious question about massively parallel architectures (ie GPUs) : Re: A serious question about massively parallel architectures (ie GPUs) Server Time
26 Apr 2024 08:50:47 EDT (-0400)
  Re: A serious question about massively parallel architectures (ie GPUs)  
From: scott
Date: 20 Jan 2010 03:48:30
Message: <4b56c35e@news.povray.org>
> So, the question becomes this: what operations does POV-Ray perform which 
> can reasonably be grouped together, following more or less an identical 
> code path on a large set of data, such that it could be reasonably 
> off-loaded to a highly parallel coprocessor such as current and upcoming 
> GPUs? (assuming double precision support, which is making great headway in 
> recent architectures)  The important part becomes the code path... two 
> adjacent rays must take generally the same code path, meaning anything 
> which spawns rays is automatically out.

I found quite a good paper a while ago about bunching rays together, this 
might be useful on hardware where there is a massive speedup for processing 
similar rays together rather than individually.

http://lukasz.dk/files/mlrta.pdf

Obviously at some point individual rays are going to go separate ways 
through separate objects, but I bet in a typical scene there are hundreds, 
if not thousands of rays that all take exactly the same path through the 
same objects.

Also it is not necessary that rays are never spawned, they just get added to 
a list of "rays to be spawned" rather than spawned right there and then. 
That way the code path can be exactly the same until the end of the "pass", 
then all the new rays that need to be spawned are generated and the next 
pass starts on those rays.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.