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

VAXman- at SendSpamHere.ORG VAXman- at SendSpamHere.ORG
Tue Oct 29 16:48:04 EDT 2013


In article <l4oksk$mhq$1 at speranza.aioe.org>, Joukj <joukj at hrem.nano.tudelft.nl> writes:
>Stephen Hoffman wrote:
>> 
>
>> If the ATTRIBUTES ADDRESS64 mechanism isn't working with the Fortran 
>> compiler for Itanium, then you're left with a support call to HP if 
>> you're on the latest Fortran, or working around the limitation somehow 
>> if there's no HP support access available.  (Fortran has its own and 
>> rather unique take on pointers, just to keep all of this stuff 
>> interesting, too.)
>> 
>Unfortunately I do not have a service contract. However, I submitted the 
>problem this morning "unofficially" to engineering.
>
>In the mean time I figured out that for 1-dimensional arrays, I can use 
>Dec-Pointers and LIB$GET_VM_64.
>
>I have no idea how to get multt-dimensional arrays working without much 
>code-change.

LIB$GET_VM_64 will only allocate the virtual memory and return the address
of the base of the region.  It should be just as simple to assign this to
your multi-dimensional array as it is to your single-dimension array.  It
is up to Fortran to index to the appropriate memory locations for each of
the elements in each of the array's dimensions.

-- 
VAXman- A Bored Certified VMS Kernel Mode Hacker    VAXman(at)TMESIS(dot)ORG

Well I speak to machines with the voice of humanity.



More information about the Info-vax mailing list