comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Memory management
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: Memory management [message #331] Fri, 12 June 1992 12:29
isaacman is currently offline  isaacman
Messages: 20
Registered: June 1992
Junior Member
In article <12JUN199210563303@stars.gsfc.nasa.gov>, landsman@stars.gsfc.nasa.gov (Wayne Landsman (301)-286-3625) writes...
> In article <12JUN199209141539@stars.gsfc.nasa.gov>, isaacman@stars.gsfc.nasa.gov (Subvert the Dominant Paradigm! (301) 513-7769) writes...
>> There seems to be some peculiarity in the way IDL does its memory
>> management in the TRANSPOSE function. Running on a VAXstation 3100/76,
>> the following statements cause the process to hang:
>>
>> IDL> A = FINDGEN(3,200000)
>> IDL> A = TRANSPOSE(A)
>>
>> The problem can be made to disappear as the arry size is made smaller,
>> presumably depending on one's page file quota and so forth. (On our
>> system, using A = FINDGEN(3,100000) works fine.)
>>
>> Rich Isaacman
>> COBE Project
>> NASA/Goddard Space Flight Center
>>
>
> I also have problems using TRANSPOSE with a 3 by 200000 array on both SUN
> V2.3.1 and VAX V2.2.2. (Note that TRANSPOSE works properly for much larger
> arrays if they are closer to being square, so, as Rich noted, the problem is not
> one of simple virtual memory limits.)
> Presumably, TRANSPOSE has been optimized for a near square array, but the
> code should be fixed up so that it doesn't hang up an IDL session.
>
> Meanwhile, the following IDL code accomplishes the TRANSPOSE fairly quickly:
>
> a = findgen(3,200000)
> b = fltarr(200000,3,/nozero)
> for i=0,2 do b(0,i) = REFORM(a(i,*))
>
> **********************************************
>
> Wayne Landsman
> landsman@stars.gsfc.nasa.gov
>

RSI has responded to my original posting and reported that there is
indeed a bug in TRANSPOSE. The fix has been made and will be in the
next release after Version 2.3. Wayne's hypothesis, it turns out, is
correct: TRANSPOSE is optimized for a square array and will fall into
an infinite loop if (larger_dimension / smaller_dimension) * element_size
is greater than 250 Kbytes.

Rich Isaacman
Re: Memory management [message #332 is a reply to message #331] Fri, 12 June 1992 07:56 Go to previous message
landsman is currently offline  landsman
Messages: 93
Registered: August 1991
Member
In article <12JUN199209141539@stars.gsfc.nasa.gov>, isaacman@stars.gsfc.nasa.gov (Subvert the Dominant Paradigm! (301) 513-7769) writes...
> There seems to be some peculiarity in the way IDL does its memory
> management in the TRANSPOSE function. Running on a VAXstation 3100/76,
> the following statements cause the process to hang:
>
> IDL> A = FINDGEN(3,200000)
> IDL> A = TRANSPOSE(A)
>
> The problem can be made to disappear as the arry size is made smaller,
> presumably depending on one's page file quota and so forth. (On our
> system, using A = FINDGEN(3,100000) works fine.)
>

I also have problems using TRANSPOSE with a 3 by 200000 array on both SUN
V2.3.1 and VAX V2.2.2. (Note that TRANSPOSE works properly for much larger
arrays if they are closer to being square, so, as Rich noted, the problem is not
one of simple virtual memory limits.)
Presumably, TRANSPOSE has been optimized for a near square array, but the
code should be fixed up so that it doesn't hang up an IDL session.

Meanwhile, the following IDL code accomplishes the TRANSPOSE fairly quickly:

a = findgen(3,200000)
b = fltarr(200000,3,/nozero)
for i=0,2 do b(0,i) = REFORM(a(i,*))

**********************************************

Wayne Landsman
landsman@stars.gsfc.nasa.gov
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Memory management
Next Topic: minimum curvature gridder in IDL?

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 19:18:16 PDT 2025

Total time taken to generate the page: 0.00541 seconds