POV-Ray : Newsgroups : povray.general : Algorithm question : Re: Algorithm question Server Time
1 Jun 2024 13:11:30 EDT (-0400)
  Re: Algorithm question  
From: Anthony D  Baye
Date: 10 Sep 2015 20:55:00
Message: <web.55f22623db4c28502aaea5cb0@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> 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.

But the processes running within a single thread are likely to be serial, right?
 I'm operating at the edges of my knowledge here.

I imagine it would take detailed analysis to determine how much of the work done
in individual threads is only able to be done sequentially, and what part of the
whole that work represents.  Certainly not a trivial task, I was just wondering
if anybody had thought about it.

Regards,
A.D.B.


Post a reply to this message

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