POV-Ray : Newsgroups : povray.general : Algorithm question : Re: Algorithm question Server Time
16 Jun 2024 02:59:00 EDT (-0400)
  Re: Algorithm question  
From: clipka
Date: 10 Sep 2015 14:56:59
Message: <55f1d27b$1@news.povray.org>
Am 10.09.2015 um 18:35 schrieb Anthony D. Baye:
> clipka <ano### [at] anonymousorg> wrote:
>> Am 10.09.2015 um 05:37 schrieb Anthony D. Baye:
>>> does anybody know --approximately-- how much of the ray tracing process is
>>> strictly serial (as a percentage)?
>>
>> What do you mean by "serial" in this context?
> 
> as in: Not parallel.
> 
> What percentage of the operation is carried out in a strictly sequential way,
> with no parallel processing of any kind.
> 
> I want to calculate the theoretical speed increase per core/thread according to
> Amdahl's Law, but I need to know what percentage of the operation is performed
> serially.
> 
> S(N) = 1 / [ Ps + (1/n)Pp] => 1 / [Ps + (1/n)(1 - Ps)]
> 
> where N is the number of cores and Ps is the percentage of the operation that is
> strictly serial.

In a nutshell, the only things in POV-Ray that are /entirely/ sequential
are (1) parsing and (2) assembling the computed pixels into an output image.

On the other end of the spectrum, rendering itself is (in general)
effectively /entirely/ parallel, as long as you choose a render chunk
size small enough and a resolution large enough so that all cores can be
kept busy.

In between, we have photon shooting, which is done sequentially for any
individual light source, while using parallel processing between
multiple light sources.

And finally, there's radiosity, which would need detailed analysis to
fit into the picture: It utilizes parallel processing, but has some
comparatively heavy multithreading overhead, not only to sync access to
the shared sample cache, but also because threads may do double work.


Post a reply to this message

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