Page 1 of 3

Blender and 64-bit processors...

Posted: Mon Aug 30, 2004 9:09 pm
by konrad_ha
Hi there,

I searched the forum for topics containing "AMD 64" and "64 bit" and found ... nothing :shock:

To me it seems as 64-bit is all the hype currently and everybody is trying to do something with it. But what about Blender? Obviously a 3D-application would profit a lot from 64-bit architecture, it should enable faster and/or better rendering.

Is there anything going on in this direction?

Greets,

Konrad

Posted: Tue Aug 31, 2004 12:02 am
by xand
gimme a 64bit platform and i'll make you a build :)

blender works well here on my pII 350Mhz and my ati rage pro :)

+++

Re: Blender and 64-bit processors...

Posted: Tue Aug 31, 2004 11:02 am
by noselasd
konrad_ha wrote:Hi there,

I searched the forum for topics containing "AMD 64" and "64 bit" and found ... nothing :shock:

To me it seems as 64-bit is all the hype currently and everybody is trying to do something with it. But what about Blender? Obviously a 3D-application would profit a lot from 64-bit architecture, it should enable faster and/or better rendering.
Konrad
Blender should already be working on 64 bits processors.
I don't really see why 64 bits should make any diffrence in rendering or speed(aside from the fact that the AMD64 are just generally fast..)

Posted: Tue Aug 31, 2004 1:34 pm
by konrad_ha
I don't really see why 64 bits should make any diffrence in rendering or speed
The 64-bit allow for far more accurate math, something very useful in 3D-calculations (and graphics-calculation in general). This can be used to either improve the quality of the images or to speed up the rendering process.

Posted: Tue Aug 31, 2004 1:37 pm
by Antares
64bit architecture wont make that much of a difference because it refers to the INTEGER registers of a CPU. the really important thing for rendering is the FPU (Floating Point Unit), which is already 80bit internal and wont get upgraded.

the really interesting thing for improving rendering speed are additional instruction sets and registers like SSE(2) which are SIMD (Single Instruction Multiple Data) operations like those in vector processors.

something like 64bit INTEGER registers is very important for (a)symetric encryption, because the larger the registers the more calculations you can do in a single step when processing BigIntegers (=any number larger than the maximum a single register of a CPU can hold)

Posted: Tue Aug 31, 2004 1:39 pm
by Antares
konrad_ha wrote:
I don't really see why 64 bits should make any diffrence in rendering or speed
The 64-bit allow for far more accurate math, something very useful in 3D-calculations (and graphics-calculation in general). This can be used to either improve the quality of the images or to speed up the rendering process.
Yes, but only integer calculations and 3D calculations are - guess what? - floating point based.

sorry, i am right you are wrong.

Posted: Tue Aug 31, 2004 2:03 pm
by ideasman
how does a AMD64 3000 compare to a AMD32/XP 3000+?

I realy want to know!!! (I use linux-)

Posted: Tue Aug 31, 2004 3:37 pm
by slikdigit
64 bit arch also increases the memory space, = more memory available

Posted: Tue Aug 31, 2004 4:22 pm
by chimera
ideasman wrote:how does a AMD64 3000 compare to a AMD32/XP 3000+?

I realy want to know!!! (I use linux-)
well honestly I dont know. but anyways a nice "not-only-windoze-benchmarksite" would be nice

Posted: Tue Aug 31, 2004 5:29 pm
by Antares
slikdigit wrote:64 bit arch also increases the memory space, = more memory available
the problem with "more memory" is, that:
1.the term 64bit has to refer to the address lines and not to the data lines.
2.the OS has to support it. for instance std windows like you and me use has a problem with managing more than 2 GB.
3.you have to afford it. 4GB DDR RAM cost about 800-1000 bucks.
4.you have to actually use it. i can hardly imagine a blender scene which uses more than 4 GB.

Posted: Tue Aug 31, 2004 5:31 pm
by konrad_ha
Yes, but only integer calculations and 3D calculations are - guess what? - floating point based.
AFAIK there's plenty of integer-based calculating going on in 3D-engines as well. What about physics, softbodies, particles, occlusion etc.? All done in ultra-precise floating-point-math? I didn't think so.
sorry, i am right you are wrong.
:lol:

Posted: Tue Aug 31, 2004 7:42 pm
by JWalton
Yes, blender has been built for 64bit machines: MIPS based SGI, and Alpha based PC's
No, it doesn't make any difference.

a good processor doesn't make a bad app run faster.

Posted: Tue Aug 31, 2004 10:32 pm
by Eric
a good processor doesn't make a bad app run faster.
What is that supposed to mean? :)

Posted: Tue Aug 31, 2004 11:03 pm
by Antares
konrad_ha wrote: AFAIK there's plenty of integer-based calculating going on in 3D-engines as well. What about physics, softbodies, particles, occlusion etc.? All done in ultra-precise floating-point-math? I didn't think so.
hum... if you know so much about blender and rendering, why dont sign up to the developer team?

i have to confess, i am no developer myself, BUT i had a close look at the code for my intel compiler based build of blender. i ran several profiling on modules and analysed the results.

for further information read these threads:
http://www.blender.org/modules.php?op=m ... pic&t=3778
http://www.blender.org/modules.php?op=m ... pic&t=4310

ANY important subroutine in blender which is used in rendering process is using floating point operations or more specific single-precision floating point untis or just "floats" in programmer slang. (btw, ultra-precise floating-point-math is nonsense)

you metioned several example which you think are based on integer arithmetic....
first of all "physics", for which i wont even need the blender code.
just a question: what grade did/do you have at school? i guess a very bad one, if you think that physics can be managed with integers.
physics is one of the mayor areas where you actually need floating point math.

*starting-up-notebook*
now have a look at your example in the code:
i am searching for "occlusion" and "ray.c" shows up. searching for "occlusion" again and guess what i first see? vectors defined as floats within function ray_ao(...)

next... searching in "rendercore.c" for "occlusion". function static void ambient_occlusion(...) and again floats everywhere.

perhaps you meant z-buffer and not occlusion. but since z-buffer offset in blender is again using a floating point unit this would also be wrong.

ok next one... particles:
searching in "particle.c"... again floats everywhere...
so exactly where would 64bit integer be relevant here?
(particle position, life time, offsets, vectors, ...)

just some examples where you need integers:
1.cryptography (already mentioned)
2.string comparison
3.control structures (loops, logic)
4.address arithmentic
5.data arithmetic
6.bit masks/bit rotations

anyway.. 64bit is only an advantage if you really need the values space of 2^64 or you manage to do some 32bit based operations parallel which can often only be achieved by hand and must of course be supported by the instruction set. thus 32bit are sufficient everywhere.

and before i gonna buy a 64 bit processor, i take a good intel processor with intel compiler optimized software for it.
konrad_ha wrote:
sorry, i am right you are wrong.
:lol:
hum... i am currently the best in my computer science semester (#4).
i wrote my own bit integer arithmetic and i am programming assembler for 3 years now. i know very well what i am talking about.

and one of the fastest blender builds out there carries my name.

now it's your turn to tell me where you got your insights from.

Posted: Wed Sep 01, 2004 1:16 am
by Panther
Hmmm... I see this topic turning nasty within a few more posts !!! :wink:

konrad_ha...

From what I can tell, blender has not yet been optimised specifically for 64-bit architecture, so will doubtfully perform that much better than any other 32-bit app on a 64-bit processor - But who knows what the future holds.

As Antares rightly said, he is the owner of the fastest ( Intel optimised ) build to date, so I'm guessing he knows his stuff. :wink:

Antares...

Do you have the Intel compiler for Linux as well as Windows / are there plans for an optimised Linux build ???

Everyone...

Personally, I'm still struggling to get Blender working on my AMD64 under Fedora Core 2...

http://www.blender.org/modules.php?op=m ... pic&t=4349

I'm a bit of a Linux newbie ( recently migrated from Windows ), but it seems that Blender is looking in my libs directory, when the files it needs are in libs64. :?

If anyone can explain ( in simple terms ) what I need to do, I would be most appreciative.

As a temporary solution, I'm running the Windows version on my Linux box via CrossOver Office ( http://www.codeweavers.com/site/products/cxoffice ). :(