POV-Ray : Newsgroups : povray.general : Algorithm question : Re: Algorithm question Server Time
26 Jun 2024 22:42:53 EDT (-0400)
  Re: Algorithm question  
From: clipka
Date: 11 Sep 2015 07:17:25
Message: <55f2b845$1@news.povray.org>
Am 11.09.2015 um 02:53 schrieb Anthony D. Baye:

> 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.

Oh God -- if /that's/ what your question is about (put in different
words, that's the question of how much of the code could be rearranged
and executed out-of-sequence by a heavily optimizing compiler and/or CPU
execution pipeline), then I suspect you're out of luck.

Shadow and simple shading computations could almost always be
deserialized, as it doesn't really matter in which order the shadows for
the individual light sources are computed.

Also, obviously there are plenty of vector operations and quite some
colour operations in POV-Ray; in most of those, the order of execution
among the three dimensions or colour channels doesn't matter (a fact
that the Windows SSE2 and 64-bit binaries should already make use of, by
employing SIMD instructions).

There is also certainly a lot of other code that is
"micro-deserializable", by which I mean that some nearby instructions
could be swapped or executed in parallel without affecting the result.

But when it comes to actual numbers, the only thing that can be said
with certainty is that they'll vary -- probably quite a lot -- between
scenes.


Post a reply to this message

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