help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave / Win 2000 memory limitations


From: Philip Nienhuis
Subject: Re: Octave / Win 2000 memory limitations
Date: Sun, 17 Jun 2001 18:30:31 +0200

> On Friday 15 June 2001 01:40, Chris Mellen wrote:
>> I am currently running Octave 2.1.31 on a Windows 2000 machine with 512Mb
>> of RAM using the Cygwin bash shell. The biggest array I can create before
>> seeing  "error: memory exhausted -- trying to return to prompt" has only
>> about 2100000 elements. Eg, at the command prompt :
:
<snip>
:
>> FAQS etc but with no luck. I am not sure if there is a simple fix or if in
>> fact I am encountering a limitation of the Win2K Dos environment.

> Jonathan Drews <address@hidden> wrote:
>  It sounds like your OS is using up a lot of memory. I was able to get 
> temp=zeros(40000000,1); (almost 20 times your amount). I was also running two 
> Xservers at once plus compiling the new KDE desktop at the time I tested your 
> temp function. I have the same amount of RAM as you (512 Mb).  I have in the 
> past done 4000x4000 floating point matrices and then inverted them and 
> multiplied. i.e.>
> 
> a = rand(4000,4000)
> inv(a)*a
>
> and Octave did it with no problem; it took a little while but it gave the 
> identity matrix. 
>
>  You should consider making your computer dual boot. Get a Linux distro like 
> SuSE or Mandrake and jsut make it dual boot. The install for Mandrake is a 
> cinch. HTH


Cygwin (the Linux emulator used to run Octave) is AFAIK not a genuine
DOS program. I think it just needs a DOS shell to get "booted" and
connect to the Win32 API, perhaps like Win9x needs 16-bit DOS to boot a
(partially) 32-bit kernel. But I do not know how DOS-boxes are
implemented in Win2K. As Cygwin is spawned from a DOS box, perhaps Win2K
strictly let it inherit just this DOS box' initial memory limits.

It would be quite exceptional, even for Windows 2000, to devour
something like 450 MB internal memory just for the OS itself. If your
problem isn't a Win2K DOS limit, then perhaps not all available memory
can be accessed by Win2K and/or Cygwin and/or you have hardware problems
(memory timing? enough swap space?) or a problem with your particular
Windows2000, Cygwin or Octave.

To compare:
On my old desktop PC with 128 MB internal memory running Windows-ME,
while simultaneously running MS-Word97, several Netscape invocations,
downloading stuff through a PPtP connection and running small utils like
a firewall, virusscanner, WebWasher, DirectCD etc., while also printing
a photograph and typing in this message, I get this when trying your
test problems:

GNU Octave, version 2.1.31 (i586-pc-cygwin).
Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton.
This is free software with ABSOLUTELY NO WARRANTY.
For details, type `warranty'.

*** This is a development version of Octave.  Development releases
*** are provided for people who want to help test, debug, and improve
*** Octave.
***
*** If you want a stable, well-tested version of Octave, you should be
*** using one of the stable releases (when this development release
*** was made, the latest stable version was 2.0.16).

octave-2.1.31:1> temp=zeros(2200000,1);
octave-2.1.31:2> temp=zeros(4000000,1);
octave-2.1.31:3> temp=zeros(8000000,1);
octave-2.1.31:4> temp=zeros(10000000,1);
:

   (another try)
octave-2.1.31:1> temp=rand(3000,3000);
octave-2.1.31:2> b=inv(temp);
   (.....many hours later.....)
octave-2.1.31:3> 
   (..and b was a neat identity matrix)

So you see, with 128 MB RAM 3000 X 3000 matrices can be inverted w/o
problems using Octave/Cygwin.

Not that I want to advocate Windows, but I think this indicates that
Windows in general imposes no significant array size limitations on
Octave beyond those imposed by other OS-es. To switch to Linux just to
be able to get larger arrays probably would not help much.
A more compelling argument for such a switch would be that (from my
experience) Octave runs 3-5 times faster under Linux than under Windows
(even OS/2 is 2-3 times faster than Windows).

Good luck,

Philip Nienhuis



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]