From: Brian Drummond <brian_drummond@btconnect.com>
Subject: Re: heap size exceeded for large matrices
Date: Sun, 29 Aug 2010 16:14:52 +0100
Date: 2010-08-29T16:14:52+01:00 [thread overview]
Message-ID: <g9tk76ljou9a3in805jes6n6pg4oqtcna6@4ax.com> (raw)
In-Reply-To: 4c7a360b$0$10227$ba4acef3@reader.news.orange.fr
On Sun, 29 Aug 2010 12:27:37 +0200, Pascal Obry <pascal@obry.net> wrote:
>John,
>
>> I wish to process both real and complex large matrices eg (1..10000,
>> 1..10000)
>> I have no difficulty in increasing the storage size of a task.
>> I cannot do the same for matrices within a procedure which reports
>> that the heap is exceeded.
>
>You probably mean stack size and not heap size. In that case you need to
>add the proper linker option to increase the stack size for the application.
>
>Pascal.
I have had trouble with this in the past - the documented linker options
apparently didn't work (around the 2008 timeframe - may not still be true) and
Pragma Storage_Size only worked for new tasks, not the main program..
I resorted to dynamic allocation on the heap, and renaming to hide the pointer
dereference. So, given
my_array_type is array (positive range <>, positive range <>) of float;
I replaced
my_array: my_array_type (1..10000, 1..10000);
with
my_array_ptr : access my_array_type := new my_array_type (1..10000, 1..10000);
my_array : my_array_type renames my_array_ptr.all;
The rename meant I didn't have to rewrite anything else in the application.
- Brian
next prev parent reply other threads:[~2010-08-29 15:14 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-29 8:50 heap size exceeded for large matrices John Raymond Dore
2010-08-29 9:51 ` Yannick Duchêne (Hibou57)
2010-08-29 10:42 ` Simon Wright
2010-08-29 15:33 ` John Raymond Dore
2010-08-29 10:27 ` Pascal Obry
2010-08-29 15:14 ` Brian Drummond [this message]
2010-08-29 16:16 ` John Raymond Dore
2010-08-29 22:06 ` Peter C. Chapin
2010-08-29 22:47 ` Brian Drummond
2010-08-30 9:45 ` Brian Drummond
2010-08-30 11:04 ` Cyrille
2010-08-30 13:01 ` System.Pool_Local.Unbounded_Reclaim_Pool (Was: heap size exceeded for large matrices) Jacob Sparre Andersen
2010-08-30 13:38 ` Dmitry A. Kazakov
2010-08-30 14:08 ` Robert A Duff
2010-08-30 14:14 ` J-P. Rosen
2010-08-30 7:44 ` heap size exceeded for large matrices Natasha Kerensikova
2010-08-30 9:41 ` Brian Drummond
2010-08-30 9:55 ` Natasha Kerensikova
2010-08-30 9:55 ` Dmitry A. Kazakov
2010-08-30 10:21 ` Georg Bauhaus
2010-08-30 18:56 ` Jeffrey Carter
2010-08-30 16:55 ` Simon Wright
2010-08-30 17:00 ` Robert A Duff
2010-08-30 19:51 ` Simon Wright
2010-08-30 16:58 ` Simon Wright
2010-08-31 17:56 ` Natasha Kerensikova
2010-08-29 17:57 ` Pascal Obry
2010-08-29 15:35 ` John Raymond Dore
2010-08-29 17:57 ` Pascal Obry
2010-08-29 19:19 ` Ludovic Brenta
2010-08-29 20:33 ` Pascal Obry
2010-08-29 21:17 ` Robert A Duff
2010-08-29 21:29 ` Ludovic Brenta
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox