CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Main CFD Forum (http://www.cfd-online.com/Forums/main/)
-   -   fortran compiler (http://www.cfd-online.com/Forums/main/10795-fortran-compiler.html)

yfyap February 13, 2006 03:47

fortran compiler
 
hi there, i am currently using Compaq Visual Fortran Professional Edition 6.5.0. when i was compiling files with large arrays, the following messege pops up: total image size -2110959616 exceeds max (268435456) i guess the arrays that i have exceeded the limits of the compiler. is there any fortran compiler running on windows xp platform available to handle large arrays? thanks in advance. yfyap

Renato. February 13, 2006 06:10

Re: fortran compiler
 
It has nothing to do with your Fortran compiler. It's due the amount of memory you have that isn't enough to hold your array. You could change your static array by allocatable but your lack of memory problem, probably, would return during run time. Sorry, buy more memory...

Cheers

Renato.


Renato. February 13, 2006 06:47

Re: fortran compiler
 
By the way, what's the size of your array? Does it fit in your system memory?

If your problem comes up within a subroutine and you have enough memory to load your array this problem can be due a lack of stack memory reserved to subroutines.

Regards

Renato.

yfyap February 13, 2006 09:55

Re: fortran compiler
 
hi, currently i have 1.2 Gigabyte of SDRAM. could u enlighten me the difference between system memory and stack memory? thank you very much and have a nice day! yfyap

ag February 13, 2006 09:57

Re: fortran compiler
 
There is a link command that you can specify when you build to allocate more stack space. I can't remember what it is off the top of my head but it is buried somewhere in the documentation. I have the same compiler and allocating more stack space during linking should remedy your problem.

Curious February 13, 2006 10:05

Re: fortran compiler
 
Yes Ag, you're right.

I guess the link command is /STACK:[value] (take a look in the Compaq's help using this keyword. It's all there.)

NOTE: this link command will only increase the memory available for stack use. If your system doesn't have enough memory to load your array, it'll not work.

Regards

Renato.

Renato. February 13, 2006 10:14

Re: fortran compiler
 
So,

What's the size of your array?

suppose:

real*8 :: a(10000,10000) ! 10,000^2 * 8 bytes

you'll need, approximately:

10,000 * 10,000 * 8 = 8x10^8 bytes/1024 -> 7.81x10^5 Kb/1024 -> 7.629 x 10^2 Mb -> 0.74 Gb

have you done this estimative?

Regards

Renato.


yfyap February 13, 2006 10:31

Re: fortran compiler
 
hi... thanks.. actually i did not do such an estimation for the memory required, i will check this. thank you very much! yfyap

yfyap February 13, 2006 10:34

Re: fortran compiler
 
hi thanks!

Vinod Dhiman February 14, 2006 12:22

Re: fortran compiler
 
Hi Yap

I hope you are from NTU. Well, I didn't read all the messages in thread, however, if there is a problem with matrix manipulation it's better to use dynamics allocation of array.

Vinod Dhiman

yfyap February 14, 2006 23:35

Re: fortran compiler
 
yes! i will send u email on this. thanks! yit fatt

zonexo February 19, 2006 07:04

Re: fortran compiler
 
actually i've this problem before, cos I just formed the matrix directly, ie a full matrix although it is very sparse. this will create a lot of wasted memory.

however, this problem was solved when i switch to using some sparse linear equations solver such as NSPCG. due to the new format of the matrix, there is considerable saving in memory. maybe you can try.

yfyap February 19, 2006 07:06

Re: fortran compiler
 
hi thanks! this would be pretty useful to me.

m sohail arshad March 5, 2006 11:19

Re: fortran compiler
 
i have had a similar problem using digital visual fortran. However, the max allowed allocatable stack size is 4294967295 and is independent of tha amount of RAM+virtual memory available in the system


All times are GMT -4. The time now is 00:43.