[Info-vax] problems allocating "large" arrays in OpenVMS-Fortran

Joukj joukj at hrem.nano.tudelft.nl
Mon Oct 28 08:47:18 EDT 2013


VAXman- @SendSpamHere.ORG wrote:
> In article <l4lidb$uhf$1 at speranza.aioe.org>, Joukj <joukj at hrem.nano.tudelft.nl> writes:
>> VAXman- @SendSpamHere.ORG wrote:
>>> In article <l4lenl$lh1$1 at speranza.aioe.org>, Joukj <joukj at hrem.nano.tudelft.nl> writes:
>>>
>>> 1*1000*1000*1000 => 1000000000 or %x3B9ACA00
>>> 2*1000*1000*1000 => 2000000000 or %x77359400
>>>
>>> I'm pretty sure that your Fortran is carving the array space out of the
>>> process's P0 space.  That's %x00000000 to %x3FFFFFFF.  With GB=2, you've
>>> exceeded this.
>>>
>>> You need to use ADDRESS64 which will use P2 space for the allocation.
>>>
>> Tried to force the ADDRESS64 attribute on the array:
>>
>> program test
>> !
>>   integer ( kind = 1 ) , allocatable :: size_array( : , : , : )
>>   integer ( kind = 4 ) , parameter :: dimens = 1000
>>   real ( kind = 4 ) :: gbs
>> !
>> !DEC$ATTRIBUTES ADDRESS64 :: size_array
> 
> cDEC$ ATTRIBUTES ADDRESS64 :: size_array
> -----^----------^---------^--^---------- spaces
> ^---- c is one of the following: C or c or ! or *.
> 
> Try again with a SPACE in your directive statement.
> 

I also tried the above on an Alpha and there the attribute seems to be 
the solution.
Now how to get this working for Itanium, because there I have sufficient 
amount of RAM.

           Regards
               Jouk



More information about the Info-vax mailing list