CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   32-bit PC : Public Service Announcement (

Jeff May 23, 2004 23:55

32-bit PC : Public Service Announcement
If you are thinking of a romping 32-bit PC maxed out with 4Gb of memory for running CFX, be careful. The end results here were not obvious to me, so I'll share my experience.

I loaded a 2.8GHz machine (HP) with a smashing graphics card and loaded it up with 4Gb of RAM. I only have 3.25Gb available under both windows and Linux. Almost 1/4 of the memory is missing!!

After some research, here's what I found. Everything on the PCI bus needs an address. Being a 32-bit machine, this address has to be "below" 4Gb. On a machine with 2Gb of RAM, all these PCI addresses get allocated between the top RAM address and 4Gb. No problem.

On a 4 Gb machine, the PCI devices have no choice but to disable some of your RAM and steal the addresses below 4Gb. How much space can a PCI device take up? In most cases not much. Network, media, and controller devices are all chewing up around 100 to 100Kb each. My AGP controller, however, is sucking up 256Mb, and my dual display graphics card another 256Mb. Added to all the other PCI devices, I'm losing a total of 0.75Gb of RAM out of the 4Gb installed in the machine.

A similarly loaded DELL machine with much lighter graphics capability is seeing 3.75Gb of the RAM. Be carful spending the cash for RAM that may be useless. You may be better off paying for just 3Gb and living with it.

If you really want all that RAM for doing CFD calcluations, go to a 64-bit Itanium machine running Linux.


deLuther May 24, 2004 00:58

Re: 32-bit PC : Public Service Announcement
Hi, Jeff How You get 4Gb on 32-bit PC under windows? I can get only below 2Gb... Thanks in advance, deLuther

matej May 24, 2004 03:58

Re: 32-bit PC : Public Service Announcement

1. you can always try to specify the RAM size as a kernel parameter at the start of the booting. it might help. You have the same result under win and linux, it leads me to the question, is your hardware and BIOS set-up right?

2. on a 32bit architecture, 1 process is not able to allocate more then 2GB. so having 4 has got a meaning only in you have dual CPU running local parallel.Or you are duing computations filling those 2GB of memory, of course.


Jeff May 30, 2004 02:12

Re: 32-bit PC : Public Service Announcement
a) The machine hardware has to support it.

b) Windows only allows 2Gb per process, so it has to be a dual CPU, and running in local parallel.


Jeff May 30, 2004 02:15

Re: 32-bit PC : Public Service Announcement
To answer, 1. - Yes, it's all set up right. This is simply a byproduct of the address space and PCI devices. No way around it.

2. - Oh, yes, it's a dual machine running local parallel. Linux does not have the 2Gb limit per process, but still suffers from the PCI problem.


Steve June 9, 2004 05:40

Re: 32-bit PC : Public Service Announcement
I have a HP workstation, dual 2.4Ghz Zeon, with 4GB ram. I found that the memory in Task manager was reported to be 3.25GB. But found this can be reduced by decreasing the AGP Aperature size which is set in the Bios. The AGP Aperature size allocates system memory for the graphics card, this can be set from 4MB to 256MB, I initially had mine set to 256MB, and reduced this to 4MB, I now only lose 0.2GB.

We had similar problems trying to solve large Abaqus jobs on an identical machine to above which was reaching the 2GB memory limit and crashing out. We tested a few operating systems, including Linux and Windows 2000 Advanced Server. The latter had the 3GB switch option enabled, the solver completed successfully on both operating systems with similar cpu times.

The 3GB switch which can be enabled in the boot.ini file in Windows 2000 Advanced Server and Windows XP Professional, this allows 3Gb of memory to be used and only allocates the top 1GB to system.

The line to be added to the boot.ini file is below:

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microso ft Windows 2000 Professional 3GB" /3GB

In their divine wisdom, our IT department decided to go for Windows 2000 Advanced Server for our workstations, because they could not support Linux properly.

All times are GMT -4. The time now is 14:07.