On 04/05/06, 22:31:40, Lars "O." Grobe <firstname.lastname@example.org> wrote regarding Re:
[Radiance-general] compiling Radiance 64-bit?:
>> Correct and radiance gets no where near 2GB. (At least I run out of
>> CPU long before the model is that big.)
> I totally agree there: It's still the CPU speed that's limiting.
I have a model that is getting close to 2GB here.
And when it does you will have to use 64bit, a decision not base
> I am not sure how 'bitty' the floating point values are that RADIANCE
> calculates. If they are 64-bit long, then you can actually expect a speed
> improvement, me thinks.
Most floating point values are doubles, thus 64bit. Still, the whole
64bit-point is about address pointers. All the old "32-bit" cpus support
calculations on 64bit values - double floats are not that new (a SSE2
unit as found in recent 32bit intel cpus can even perform calculations
on 2 64bit values at once). So we are only talking about increasing the
amount of addressable memory here.
Yes, yes, a 64bit CPU is not cobbled by a 32bit pointer any more than
using a short int turns a Pentium 3 in to a 80286.
Correct me if I am wrong. I am not a cpu expert. But do not compile
Radiance in 64 bit if you do not need memory. If you do, take a look at
compilers. E.g. Sun has a free compiler that is known to produce 64 bit
code that can compete with 32 bit in speed.
On Sparc most programs run slower 64bit (lame is the only one I know
that runs quicker), on the AMD64 chip the gap was much smaller. Lars,
you use Solaris? My test were done on Solaris 10 with the Sun Studio
10 compiler. Studio 11 is now free.
On Sparc it's clear what is happening because the vis extensions can
be used in 32bit mode: sparcv8plus+vis and sparcv8plus+vis2. I assume
something similar is happening on the AMD64s although the compiler
flags aren't as explicit and there is no isalist entry.