Re: Maximum memory under Windows NT [message #14636 is a reply to message #14587] |
Wed, 17 March 1999 00:00   |
menakkis
Messages: 37 Registered: June 1998
|
Member |
|
|
Mark Rivers writes
.. about hitting a 1GB memory allocation limit in IDL on WinNT.
Hi Mark, My initial thought was "1GB is quite some allocation", but then not
that long ago I used to think that 1GB was a whole lotta disk. Pretty soon
it won't be that rare at all. I guess you've noticed that the standard MS
docs are typically vague on the subject, apart from saying that "each
application on NT has most of the lower 2GB of its virtual address space at
its disposal". By chance I spotted a MS visual C linker option that governs
the heap size. BY DEFAULT THIS IS 1GB. Evidently this is a seldom-used
option, because there isn't even a field for it in the project settings
property sheet. If IDL is using malloc() from the MSVC C runtime library (or
is using some memory- management s/w that uses it) then I would guess that
this is the problem. If so, then perhaps RSI would respond to a feature
request to link specifying a larger heap.
"Martin Downing" <m.downing@abdn.ac.uk> wrote:
> As an aside:
> I am considering purchase of a similar spec machine for our workgroup, for
> use with memory hungry images and processing routines in IDL and C++.
> Would you possibly have time to drop me details of your spec and what you
> might change now that you have tried the system.
> 1.I was also thinking dual CPUs. As far as I know IDL 5.2 can not handle
> multithreading, but i anticipate there would be a performance benefit since
> one cpu would get all the OS work (does that include paging?) and the other
> would then be dedicated to running IDL - have you found this?
Hi Martin, Mind if I butt in? :-) I hope I don't offend the group by talking
about non-IDL things... I have access to a (dated) dual-PII-300 PC running
NT. The 2 CPUS do help a bit. e.g., When running ENVI on an
image-processing job (say, doing an MNF transform of an AVIRIS scene), the
total CPU usage sometimes goes over 60%. Even higher (70ish I think) at
times. In general, having 2 CPUS is rather pleasant if your budget can take
it - everything cruises along that much smoother. If you have the
inclination, you can also write your own multithreaded routines to call from
IDL. If you work with large files then I'd strongly recommend that you
consider beefing up your I/O. I have access to an (also dated) ADAPTEC RAID
controller with a RAID0 disk (of 3 physical disks). It makes a substantial
difference. Hardware RAID is not all that expensive to set up these days. It
might also be worth your while to check out Linux instead of NT. I have no
experience with Linux, but I'm really starting to wonder about NT. ("Fifty
billion dollars can't be right" and so on.) I have heard it said that some
number-crunching Fortran programs favoured by geophysicists run 3 to 5 times
faster on Linux! It's a pity that there's a timer problem in IDL for Linux -
it would be interesting to see some comparisons in J.D. Smith's time-test
archive.
Peter Mason
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
|
|
|