[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