Handling large arrays in IDL [message #59169] |
Sat, 08 March 2008 19:33 |
Wasit.Weather
Messages: 62 Registered: February 2008
|
Member |
|
|
Can you give me any tips or example on how to handle large arrays in
IDL. The size of the arrays that I am working with are around (200000
x 200000). The program ends up in "Can not allocate the memory to
create the array".
If creating many smaller arrays by tiling is the only option, how can
I work it out?
The RAM size of the server is also very large, 8 GB. I would be
grateful to have some suggestions from you.
Thanks!
|
|
|
Re: Handling large arrays in IDL [message #59215 is a reply to message #59169] |
Thu, 06 March 2008 07:16  |
pgrigis
Messages: 436 Registered: September 2007
|
Senior Member |
|
|
vijayc...@gmail.com wrote:
> Hello,
>
> I need some tips about handling large arrays in IDL. The size of the
> arrays is around (100000 x 100000) and the general error messages are
> " array contains too many elements" or "cannot allocate memory".
These are two different situations:
The "array contains too many elements" happens when the total
size in bytes of the array (that is, the number of elements multiplied
by the size in bytes of one element) is larger than 2^31 in 32-bit IDL
(no matter what your memory size is!)
As far as I know, the only workaround for this is to use 64-bit IDL.
Regarding the second error message, the way to increase the
memory that can be allocated depends on your OS.
Ciao,
Paolo
One
> way to get around the problem is to create many smaller arrays but I
> would like to keep this option as the last one. The RAM size of the
> server is 8GB, probably it is maximum that can fit into the machine. I
> would be grateful to have suggestions from you.
>
> Thank you.
>
> Regards,
> Vijay
|
|
|