Also its your RAM + Videocard Memory that is your memory, so while you might have say 4 gig, and it would seem to show up on your computer, its including your video card memory.
Also its your RAM + Videocard Memory that is your memory, so while you might have say 4 gig, and it would seem to show up on your computer, its including your video card memory.
I was asking because I choose to install the 32bit version ... 64 bit packages are more unstable being less popular.
* You need to compute extremely large numbers. You'll get big performance boosts here.
* You need more then ~3.5 G ram. In which case you actually have to buy AT LEAST 8G to see a positive impact. Even this is not a hard requirement, as there are work arounds in 32-bit. But 64-bit is an absolute must if an individual process needs that much ram.
note: I see I'm voted down, and maybe I'm a little harsh in my comment, but can anyone add any other reasons to go to 64 bit? I've read a ton over the years and those are the only two I could find. Maybe I should add "because 64 is bigger then 32 and I can tell ppl my OS is 64 bit"
edit: Double is a great exaggeration, but not as much as the replies indicated. I moved from a 64-bit slicehost with 512M to a 32-bit linode with 320M and have LESS memory woes. The libraries really are almost twice as big. I speak from experience and not from theory.
1. It can provide performance boost if you take advantage of that 64-bit calculation (two 32-bit calculations) is done in one clock-cycle, you can actually achieve 100% speed up.
2. Use more than 4G memory is not a big deal in scientific computing, and let's face it, more memory is better than read from disk.
3. The argument about the double memory consumption is plain wrong. All program still use int as the main type, which only 32-bit long. Only pointers takes 64-bit long, but you don't save much pointers in your memory (what's the point of keep 4G pointers in memory anyway?). Thus, the memory consumption is little larger, but definitely manageable.
4. (This point may be wrong, please correct me) double precision is common for calculation, and it takes exact 64-bit long, which makes it more suitable for 64-bit CPU.
ints remain the same size, but longs and pointers are double the size. 64-bit libraries may be bigger, but there's no reason they would double in size. In general, a 64-bit system uses more RAM, but not double.
I'm not sure if 1.25-1.5x would be accurate as a rule of thumb, but 2x is almost certainly too high. (It will depend on the data structures etc. involved.)
- IA32 is register starved ISA, AMD64 is not. It has doubled the amount of general registers.
- AMD64 doesn't have to support the x87 FPU baggage. As a result, it is simpler to deal with fp math.