When I compile with PVF for 64 bit system, I got an error message
image size (****) exceeds maximum allowable size (80000000)
I don’t have this if the size of arrays is small. It is caused by arrays which are [9000x9000] or larger. I wonder if I can increase the maximum allowable size and if yes, how do it.
The problem is the Microsoft Object code format. It does not allow
for a 64-bit offset to be put into an instruction. As a result, you
cannot declare static arrays in programs with a combined size larger than 2 Gb.
The solution is to declare and allocate the large arrays dynamically.
real *8 X[9000,9000]
becomes
real*8, allocatable :: X
.
. and then when you need it
allocate (x(9000,9000))
and initialize it and use it.
The load module created is smaller too, and quicker to execute,
because it is faster to create the arrays dynamically, rather than load
them from a disk file.