POV-Ray : Newsgroups : povray.newusers : 64-bit Pov-Ray rendering Server Time
30 Jul 2024 12:23:10 EDT (-0400)
  64-bit Pov-Ray rendering (Message 1 to 9 of 9)  
From: user
Subject: 64-bit Pov-Ray rendering
Date: 29 May 2004 07:18:24
Message: <40b87180$1@news.povray.org>
Hi all,

If you look at the end of a review of Opterons at 
http://www.linuxhardware.org/Features/03/12/17/189239.shtml, you can see 
benchmarks done with Pov-Ray compiled for x86-64 and for regular x86, 
using the same scene description. The images are non-identical, and I'd 
like to know why this is; is it just because all calculations are done 
with 64 bit precision, as the article says, or are there other 
differences in Pov-Ray's behaviour on x86-64 systems?

Thanks,
Nathan Cook


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: 64-bit Pov-Ray rendering
Date: 29 May 2004 07:42:46
Message: <40b87736@news.povray.org>
In article <40b87180$1@news.povray.org> , use### [at] domaininvalid  wrote:

> If you look at the end of a review of Opterons at
> http://www.linuxhardware.org/Features/03/12/17/189239.shtml, you can see
> benchmarks done with Pov-Ray compiled for x86-64 and for regular x86,
> using the same scene description. The images are non-identical, and I'd
> like to know why this is; is it just because all calculations are done
> with 64 bit precision, as the article says, or are there other
> differences in Pov-Ray's behaviour on x86-64 systems?

Their observation that POV-Ray yields slightly different results is correct.
Actually, this is the case whenever you compare renders on any two different
processors.  It is also true that comparing a 32 bit and a 64 bit compile on
POV-Ray on an AMD x86 system running in 64 bit mode yields differences.

However, the statement

"It seems that POV-Ray was not written with fixed precision, so the image on
the right has greater precision in its calculations than the left one. This
is apparent most in the shadowing. If you zoom in on shadowed areas, you'll
notice a smoother gradient in the colors. From these results we see that not
only do you get greater precision for free, it's actually "cheaper" and
completes faster than the 32-bit version."

is pure nonsense.  No fact at all, just random speculation by someone who
obviously has no understanding of the benchmark he ran.  The "64 bit" refer
to the integer unit and the memory addressing capability of a processor,
they have absolutely nothing to do with the floating-point capabilities of a
processor.

To actually explain the differences generated on the same processor when
running in 64 bit vs. 32 bit mode, one needs (unavailable!) details about
the floating-point precision provided by the logic on the processor itself
as well as possible differences of code generated by the compiler used when
targeting a different instruction (sub)set.  For certain operations like
division and square-root computation of floating-point numbers, only a
certain minimum precision is required.  This is in particular relevant when
performing many computation in series.  POV-Ray does not perform rounding of
those results, and as such always uses the maximum floating-point precision
provided by the hardware.

Nevertheless, a floating-point number still has the exactly same size and
bit representation regardless of the processor being "64 bit" or "32 bit"
because as said above already, the "64 bit" only refers to the integer size
supported.  In order to understand why floating-point numbers do only have a
certain precision and the order of computations can change that noticeably,
in-depth understanding of the math behind them is needed.  So I am not going
to explain this here.

    Thorsten

____________________________________________________
Thorsten Froehlich
e-mail: mac### [at] povrayorg

I am a member of the POV-Ray Team.
Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: 64-bit Pov-Ray rendering
Date: 29 May 2004 07:56:24
Message: <40b87a68@news.povray.org>
Actually, I think I did not make clear one other important thing:
The result when running in the AMD 64 bit mode is just *different*, not
better or worse than the AMD 32 bit mode result.  As such, there is in
particular *no* higher quality as the result of AMD 64 bit mode!

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Christoph Hormann
Subject: Re: 64-bit Pov-Ray rendering
Date: 29 May 2004 08:55:01
Message: <c9a14q$csr$1@chho.imagico.de>
use### [at] domaininvalid wrote:
> Hi all,
> 
> If you look at the end of a review of Opterons at 
> http://www.linuxhardware.org/Features/03/12/17/189239.shtml, you can see 
> benchmarks done with Pov-Ray compiled for x86-64 and for regular x86, 
> using the same scene description. The images are non-identical, and I'd 
> like to know why this is; is it just because all calculations are done 
> with 64 bit precision, as the article says, or are there other 
> differences in Pov-Ray's behaviour on x86-64 systems?

If that are really true results of the official benchmark (i.e. not made 
with other render options) i find the results quite bad for such 
expensive systems.  Of course a hardware like that is quite 
'underemployed' with rendering the POV-Ray benchmark but the Xeon for 
example seems not much faster than my Athlon XP 2600 here and you 
probably could get a dozen of them for the same price as the Xeon...

The 22:20 for the Opteron is of course not that bad but you can achieve 
similar results on much cheaper hardware, i.e. Athlon 64:

http://www.linuxhardware.org/article.pl?sid=04/03/18/2143203


Christoph

-- 
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 01 May. 2004 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: Lutz-Peter Hooge
Subject: Re: 64-bit Pov-Ray rendering
Date: 31 May 2004 15:39:36
Message: <40bb89f8@news.povray.org>
Thorsten Froehlich <tho### [at] trfde> wrote:

> Their observation that POV-Ray yields slightly different results is correct.
> Actually, this is the case whenever you compare renders on any two different
> processors.  It is also true that comparing a 32 bit and a 64 bit compile on
> POV-Ray on an AMD x86 system running in 64 bit mode yields differences.

But what is the source of these differences?
They definetely don't look like caused by different rounding, or by a different
random number generator or anything like that.

Actually it looks more as if different setting for photon mapping where used.
If the settings where identical I suspect there might be a bug in the photon 
mapping code.

Lutz-Peter


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: 64-bit Pov-Ray rendering
Date: 31 May 2004 16:21:27
Message: <40bb93c7$1@news.povray.org>
In article <40bb89f8@news.povray.org> , Lutz-Peter Hooge <lpv### [at] gmxde> 
wrote:

> But what is the source of these differences?

Some POV-Ray features use pseudo-random numbers.  The sequence of these
numbers depends on the order of certain tracing calls.  If there is a small
computational difference in just one pixel POV-Ray may need to trace
additional rays (i.e. for anti-aliasing, but not limited to it*), you get a
butterfly effect when computing all consecutive pixels...

    Thorsten

* Chris Cason recently found that using jitter is very sensitive to the
butterfly effect.

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Lutz-Peter Hooge
Subject: Re: 64-bit Pov-Ray rendering
Date: 31 May 2004 22:50:41
Message: <40bbef01$1@news.povray.org>
Thorsten Froehlich <tho### [at] trfde> wrote:

> Some POV-Ray features use pseudo-random numbers.  The sequence of these
> numbers depends on the order of certain tracing calls.  If there is a small

IMO this would result mainly in differences at sharp edges etc.
The main differences in the shown images are of a different type,
it is most visible in the bright caustics in the middle ofthe image

http://www.linuxhardware.org/images/articles/opteron-121703/bench-x86-64-full.jpg
http://www.linuxhardware.org/images/articles/opteron-121703/bench-i386-full.jpg

Lutz-Peter


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: 64-bit Pov-Ray rendering
Date: 1 Jun 2004 06:25:20
Message: <40bc5990$1@news.povray.org>
"Lutz-Peter Hooge" <lpv### [at] gmxde> schrieb im Newsbeitrag
news:40bbef01$1@news.povray.org...
> Thorsten Froehlich <tho### [at] trfde> wrote:
>
> > Some POV-Ray features use pseudo-random numbers.  The sequence of these
> > numbers depends on the order of certain tracing calls.  If there is a
small
>
> IMO this would result mainly in differences at sharp edges etc.
> The main differences in the shown images are of a different type,
> it is most visible in the bright caustics in the middle ofthe image
>
>
http://www.linuxhardware.org/images/articles/opteron-121703/bench-x86-64-full.jpg
>
http://www.linuxhardware.org/images/articles/opteron-121703/bench-i386-full.jpg

Well, what I said also goes for photons.  Plus, there is no way to rule you
they didn't make some mistakes when running the benchmark.  All I can really
say is that their reasoning that using a 64 bit compile creates "better" is
not based on any facts.  It is certainly possible to make good guesses what
else might be wrong with their compile, but those don't really lead
anywhere, I am afraid.

    Thorsten


Post a reply to this message

From: Chris Cason
Subject: Re: 64-bit Pov-Ray rendering
Date: 16 Jun 2004 09:38:02
Message: <40d04d3a@news.povray.org>
FYI:

  http://www.povray.org/temp/benchmark32.png
  http://www.povray.org/temp/benchmark64.png
  http://www.povray.org/temp/32-64-diff.png

rendered with 32 and 64-bit versions of POV-Ray v3.6 on an Athlon 64 FX-51
running XP/64. please don't ask about benchmark times.

-- Chris


Post a reply to this message

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