Wednesday, June 11, 2008

memory availability under GAMS

Under Windows we have the following possible cases:

  1. 32 bit GAMS under 32 bit Windows gives you a 2 GB process limit in theory (in practice this is 1.6 GB).
  2. 32 bit GAMS under 32 bit Windows with /3GB flag. It is possible to configure Windows XP to get you 3 GB per process (a little bit less in practice). Here is more info: http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx and http://technet.microsoft.com/en-us/library/bb124810.aspx. On Vista this is different: you need to use BCDEDIT as follows (you need administrator rights):
    bcdedit /set IncreaseUserVa 3072
    See http://www.prophotowiki.com/w/index.php/IncreaseUserVa for notes. Warning: you may want to ask your system administrator to do this for you.
  3. 32 bit GAMS under 64 bit Windows. This gives you close to 4 GB.
  4. 64 bit GAMS under 64 bit Windows. This gives you even more. Some NLP solvers still have a 8GB limit but otherwise you can go much higher. Note that 64 bit GAMS is using more memory than 32 bit GAMS (pointers are 64 bit instead of 32 bit). So if you only have 3 or 4 GB RAM it does not buy you much using the 64 bit GAMS version.