CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Time for moving on to 64-bit computing? (

Dr. Bian June 8, 2006 15:08

Time for moving on to 64-bit computing?
The 64-bit CFX-10 is available to unix OS now, and workbench has 64-bit for both unix and windows. The expected CFX-11 will support XP64. It is reported the 64-bit hardware and OS can yield 15% performance gain. Interesting thing is in ANSYS SOLUTIONS (summer 2005), the paper benchmarking AMD Opteron shows no speed gain for large problem on single 64-bit CPU (chart.2).

So, is it the time for upgrading hardware to 64-bit? Will the 64-bit CFX-11 discontinue the support for 32-bit systems?

Robin June 8, 2006 15:25

Re: Time for moving on to 64-bit computing?
A 64 bit version of CFX has been available on UNIX for several years. The only remaining 32 bit versions are for Windows and Linux on 32 bit systems. You can expect a 32 bit version to be available for several more years, as this is what many customers will still be using.

64 bit processors are not necessarily faster. There is nothing about a 64 bit chip that makes it faster, although the other architectural changes that come with the chips may improve performance (such as increased bandwidth to memory). What 64 bit really means is that you can access more memory. This really impacts Pre and Post-processing of large jobs more than anything, as these are typically serial operations. As for the solver, having access to more memory doesn't really help much, since if you need 16 GB of RAM for your solver run, it is going to take forever to solve and you would be better off running smaller chunks in parallel instead, which would probably put you back under the 2GB limit of 32 bit computers anyway.

Regards, Robin

Joe June 8, 2006 17:30

Re: Time for moving on to 64-bit computing?
Its going to be interesting to see how the server version of Intels Conroe (woodcrest) fairs. Most benchmarks seem to indicate Conroe will finally salvage Intels reputation after the twin fiascos of the Itanic and the netsuck bus.

If these woodcrest server chips deliver as initial benchmarks indicate they will drop the price of HPC by 50%-66%.

I wouldnt invest in any more opteron machines until this all clears up unless you are going for more than 2 sockets (i.e. 4 cores). AMD's cHT still whups ass for large core count machines.

Anonymous June 9, 2006 10:33

Re: Time for moving on to 64-bit computing?
Hi Robin,

You mention a 2GB limit for 32 bit machines. I am no expert on computer hardware, but I have always been under the impression that it is possible to address 2^32 bytes of memory on a 32 bit machine (i.e 4GB). Windows machines typically only can use 2GB for CFX due to the way that the memory is divided up for the OS, but this can be extended using a special switch (/3GB is the switch I think).

Anyway, sorry to knitpick :) I hope I am correct!

Robin June 9, 2006 13:19

Re: Time for moving on to 64-bit computing?
2^31 actually, because the memory allocation takes a signed integer. The last bit is the sign.

Anonymous June 9, 2006 17:00

Re: Time for moving on to 64-bit computing?
Hi Robin,

Like I say, I am no expert on the matter, but I am sitting here on a computer running 4GB of RAM on a 32 bit architecture :)

The register is still 32 bits long and is used to address 2^32 bytes of memory, whether or not that address is positive or negative shouldn't matter. The Wiki and the Matlab support site (two fairly reputable sources) also support my hunch on this one. The links are below:

I think you are confusing memory allocation with the representation of integers in memory, see:

Hope this makes sense!

Robin June 11, 2006 12:44

Re: Time for moving on to 64-bit computing?
Memory allocation is all that matters in this case.

HekLeR June 11, 2006 12:59

Re: Time for moving on to 64-bit computing?
You are correct that one can run a 32 bit CPU with up to 4 GB of ram. Processes running on such a CPU can allocate memory anywhere in that space because the registers in the chip can store addresses anywhere in the 4GB.

The links you refer to above only refer the maximum addressability available at the hardware level. Addressability of individual processes at the operating system level is a different issue because of how virtual address space is managed. At the operating sytem level both 32 bit windows and linux are limited, by default, to a max of 2 GB per process.

The 2GB limit happens basically because of virtual memory allocation (i.e. swapping out processes to disk). This is done by mapping the 4GB of physical RAM into two pieces of 2GB virtual address space. One piece is allocated to the operating system kernel for system level functions (disk i/o, graphics, networking, caching, etc ...) and the other piece to user applications.

On windows the /3GB switch increases the user piece to 3GB at the expense of allowing only 1 GB for the kernel, which may not necessarily be optimal depending on what kind of work the system is doing most of the time..

Hopefully that is clear.

Dr. Bian June 12, 2006 09:00

Re: Time for moving on to 64-bit computing?
As my understanding, a 32-bit PC (probably 64-bit CPU with 32-bit OS) can use up to 4GB RAM, but up to 2GB for each process. A dual-CPU or dual-core probably can run 2 process to occupy up to 4GB. Correct me if I am wrong.

I am very sure for Windows OS (32-bit or 64-bit), current CFX-solver only can occupy up to 1.6 to 1.7 GB RAM. Let's hope CFX-11 can be released soon, so there will be 64-bit CFX solver executables for Windows available. Then more RAM can be addressed.

I originally want to set up a cluster to run big cases (with more RAM on each node), but do not want to go for Linux OS. It seems with CFX-10, I can not get more RAM involved (parallel licenses limited), so I am in the debate of upgrading the hardware right now to 64-bit and waiting for CFX-11 or upgrading later after CFX-11 available.

Anonymous June 12, 2006 10:00

Re: Time for moving on to 64-bit computing?
Hi HekLeR,

I agree with you, what you have posted here is essentially what I said in my first post to this thread, although you have said it more eloquently!

One question, are you sure that Linux is also limited by default to a 2GB process? For some reason, I have in my head that the kernal is allocated a lot less than in Windows and that individual processes can be around 3GB in Linux. I googled around a bit and didn't find much information on this (that I could decipher), so maybe you could post a reference for us?


Anonymous June 13, 2006 13:56

Re: Time for moving on to 64-bit computing?
As no answers were forthcoming on the Linux front, I did a bit more googling to see what the limits are. The following link is a few years old, but it seems even at that time that Linux processes could use 3GB of RAM and that 1GB was reserved for the kernal.

I haven't used a Linux box with that much memory, but this guy seems to know what he is talking about ... but like anything else on the web, take it with a grain salt ... there is SO MUCH mis-information out there on the 'information' superhighway :)

(If I am adding to this mis-information, please correct me)

Patrick June 16, 2006 01:45

Re: Time for moving on to 64-bit computing?
Dear Bian,

Heading for a Linux-Cluster ist the best you can do. If you want to run big cases it is better to divide your jobs. Even if a powerful single machine would be able to handle the job it would take just too long to get the results. By the way is a system running on linux faster than the same system with windows. We are win32, lin32 and lin64 machines and my recommendation for you would be: - Opteron 64bit machines - at least 4 GB RAM -> but better more nodes than more RAM per node - if you have really big cases to handle the a powerful master node with more RAM

By the way, CFX10 is able to handle that without problems. You don't have to wait until the end of october for CFX11.

Glenn Horrocks June 18, 2006 17:42

Re: Time for moving on to 64-bit computing?

This will probably start the debate all over again, but here goes...

With the MPICH for windows parallel method I have found no speed advantage with Linux. Linux does have a smaller kernal so you can run slightly larger models than windows, and a carefully managed large Linux cluster is likely to be more slightly more stable than a carefully managed windows cluster.

However for small clusters I think you will find Windows XP is the same speed and same stability as Linux. For small clusters you should make the choice based on your personal preference.

Glenn Horrocks

Robin June 19, 2006 08:41

Re: Time for moving on to 64-bit computing?
I think the biggest differentiator is not the performance of the solver, but the administration of the system. A Linux cluster is generally easier to set up and maintain, although I begrudgingly admit that Microsoft's cluster solution may change this.


Dr. Bian June 19, 2006 09:57

Re: Time for moving on to 64-bit computing?
Hi, there,

64-bit OS (Linux or Windows) can address more RAM. Another problem is if there are 64-bit CFX executables for the OS. I am sure for CFX-10, it has 64-bit executable for Linux, but not for Windows. It is reported that the 64-bit computing can gain 15% faster speed.

Dr. Bian June 19, 2006 10:03

Re: Time for moving on to 64-bit computing?
Thanks for your info.

For small clusters, I believe Windows and Linux have similar computing speed. However, Linux cluster has much much smaller starting and finishing time of a parallel run. Windows probably has convenient interface, and it is easy for single use when the cluster is idle or dismissed.

All times are GMT -4. The time now is 02:01.