From: Claude Marinier <claude.marinier@dreo.dnd.ca>
Subject: Re: gnat and heap size
Date: Wed, 26 Sep 2001 09:44:41 -0400
Date: 2001-09-26T09:44:41-04:00 [thread overview]
Message-ID: <Pine.NEB.4.31.0109260932510.24582-100000@behemoth.dreo.dnd.ca> (raw)
In-Reply-To: <3BB10E2C.8C57FFE1@linuxchip.demon.co.uk>
The application is an electromagnetic simulation. Yes, we could use sparse
matrix techniques but part of the program requires a full matrix. Perhaps
we are hitting a low level limit (is that what Adrian is saying?).
Here is a test program.
procedure matrix is
type matrix is array ( integer range <>, integer range <> ) of float;
type matrix_a is access matrix;
A: matrix_a := New matrix( 1..9000, 1..9000 );
i : integer;
begin
i := 1;
while i <= 9000 loop
A(i,i) := 1.0;
i := i + 1;
end loop;
end matrix;
On Tue, 25 Sep 2001, Dr Adrian Wrigley wrote:
> Claude Marinier wrote:
> > We want to use large arrays (well, large for us: 10000 x 10000 complex
> > numbers). We are using gnat 3.13p on Solaris 7. We run out of heap (heap
> > exhausted) and have not yet found a way to increase it.
> Since Ada works in bits, the sizes can overflow (signed) 32-bit
> representation. This makes handling data in excess of 256MB tricky,
> since locations of record elements are wrong, as are size attributes
> (eg a problem in generics). I solved this by calculating the sizes of
> each element, multiplying by the number of elements, adding in each
> record component's size. Nasty. But it was 10-100 times the speed of
> more obvious solutions.
>
> I suspect you have a 64-bit architecture, and *may* not hit the 'size
> problems I had with GNAT. If you stick to simple arrays, you might be
> OK. I was using GNAT 3.12p on a '686 processor.
> (by the way... what do you use such large matrices for?)
--
Claude Marinier, Information Technology Group claude.marinier@dreo.dnd.ca
Defence Research Establishment Ottawa (DREO) (613) 998-4901 FAX 998-2675
3701 Carling Avenue, Ottawa, Ontario K1A 0Z4 http://www.dreo.dnd.ca
next prev parent reply other threads:[~2001-09-26 13:44 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-25 18:29 gnat and heap size Claude Marinier
2001-09-25 20:46 ` Ted Dennison
2001-09-25 21:15 ` Marin David Condic
2001-09-25 21:49 ` Ted Dennison
2001-09-26 13:04 ` Marin David Condic
2001-09-26 13:39 ` Ted Dennison
2001-09-26 14:18 ` Larry Kilgallen
2001-09-26 14:27 ` Larry Kilgallen
2001-09-26 14:53 ` Marin David Condic
2001-09-26 17:21 ` Larry Kilgallen
2001-09-26 18:12 ` Marin David Condic
2001-09-26 18:35 ` Marin David Condic
2001-09-27 7:20 ` Martin Dowie
2001-09-26 21:16 ` Pascal Obry
2001-09-27 13:07 ` Marin David Condic
2001-09-27 15:25 ` Holographic memory (Was: gnat and heap size) Jacob Sparre Andersen
2001-09-27 16:26 ` gnat and heap size Dale Pennington
2001-09-27 16:57 ` Darren New
2001-09-27 16:58 ` Marin David Condic
2001-09-27 19:19 ` tmoran
2001-09-26 14:13 ` Larry Kilgallen
2001-09-27 10:39 ` Ole-Hjalmar Kristensen
2001-09-25 22:40 ` David Starner
2001-09-26 2:12 ` Robert Dewar
2001-09-26 13:36 ` Ted Dennison
2001-09-26 2:13 ` Robert Dewar
2001-09-26 13:29 ` Ted Dennison
2001-09-25 23:10 ` Dr Adrian Wrigley
2001-09-26 9:09 ` Lutz Donnerhacke
2001-09-26 13:58 ` The decline of programming civilization (was: gnat and heap size) Ted Dennison
2001-09-26 13:44 ` Claude Marinier [this message]
2001-09-26 14:55 ` gnat and heap size Ted Dennison
2001-09-26 20:45 ` Erik Johannessen
2001-09-27 6:12 ` Dr Adrian Wrigley
2001-09-27 18:23 ` erij
2001-09-27 9:02 ` Erik Johannessen
2001-09-27 13:27 ` Gerald Kasner
2001-09-27 17:48 ` erij
2001-09-27 14:11 ` Peter F. Gath
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox