|
[Sponsors] |
September 9, 2005, 00:41 |
A problem about the image size
|
#1 |
Guest
Posts: n/a
|
Recently, I had to run a large code(3D), and open several big arrays, which results in the warning saying "total image size ***exceeds max (268435456); image may not run". Perhaps there is someplace to reset the upper limit of the image size. I'm really worry about that. Are there any friends offering ideas and operations? BTW: I use Fortran Powerstation.
Thank you very much. |
|
September 9, 2005, 06:36 |
Re: A problem about the image size
|
#2 |
Guest
Posts: n/a
|
Hi,
These messages appear because some versions of operating systems (such as windows 98) do not support executables bigger than 256Mb. Not a big deal ... |
|
September 9, 2005, 07:06 |
Re: A problem about the image size
|
#3 |
Guest
Posts: n/a
|
but some guys said that we can reset the parameters in the powerstation complier. I'm really worry about this problem because I can hardly do anything about this.
|
|
September 9, 2005, 09:47 |
Re: A problem about the image size
|
#4 |
Guest
Posts: n/a
|
Well, if you use W98, you can still upgrade your OS to W2K or XP ...
You may also switch off this kind of warnings in your compiler. Anyway, the message is that the image MAY not run. And I promise you, if the executable is really that big for the OS, it would not iterate at all ... So if it runs smoothly, I would not care that much about that ! Good luck |
|
September 9, 2005, 12:17 |
Re: A problem about the image size
|
#5 |
Guest
Posts: n/a
|
Change the static memory allocation of your code by dynamic allocation in order to allow your program define the memory requirements at run time.
STATIC ALLOCATION: (F77 limitation) real*8, dimension(10000000000) :: a ! huge vector DYNAMIC ALLOCATION: (F90 feature) real*8, allocatable :: a( n=10000000000 allocate(a(n)) the problem certainly will disapear. cheers Renato N. Elias |
|
September 9, 2005, 12:59 |
Re: A problem about the image size
|
#6 |
Guest
Posts: n/a
|
You should have a flag to change the stack size like /stack:20000000 (you may have to supress some journal files from the previous compilation).
|
|
September 9, 2005, 23:28 |
Re: A problem about the image size
|
#7 |
Guest
Posts: n/a
|
Thanks a lot! But there are many arrays appear in the "common" zone. Can this type of defination also be used in the "common" defination?
|
|
September 9, 2005, 23:31 |
Re: A problem about the image size
|
#8 |
Guest
Posts: n/a
|
thanks a lot! Could you explain more about this operation? I'm just a fortran learner. Does this only need to change the set of static allocation other than dynamic allocation?
|
|
September 9, 2005, 23:32 |
Re: A problem about the image size
|
#9 |
Guest
Posts: n/a
|
I use W2K, and it still cannot run. Anyway, thank you very much.
|
|
September 10, 2005, 13:58 |
Re: A problem about the image size
|
#10 |
Guest
Posts: n/a
|
Good question... I have checked in the Compaq's Visual Fortran manual where is written:
"An allocatable array cannot be specified in a COMMON, EQUIVALENCE, DATA, or NAMELIST statement" I'm used to write allocatable arrays inside modules. The module is a new feature of F90 that substitutes the use of commom blocks, for example: c............................................ module MyParameters real*8, allocatable :: myarray(:, end module c............................................ Program Foo use MyParameters n=1000000 allocate(myarray(n)) end program You should consider the possibility of changing your common blocks and static arrays by modules and dynamic arrays because they are very flexible to use and they could speedup the implementation, modification as well as maintenance of your code. cheers Renato N. Elias |
|
September 14, 2005, 15:56 |
Re: A problem about the image size
|
#11 |
Guest
Posts: n/a
|
You have to take a look on the documentation of your compiler. You will find the syntax for the stack. If you compiler has a UGI, you have to input this option in a dialogue box. If it is a command line, this option is passed on the line when you ask for the compilation.
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Gmsh] discretizer - gmshToFoam | Andyjoe | OpenFOAM Meshing & Mesh Conversion | 13 | March 14, 2012 05:35 |
Gambit Problem Size Function | El Wastl | ANSYS Meshing & Geometry | 12 | April 15, 2011 08:17 |
ICEM Tetra mesh, Size reduction and Skewness problem | Catthan | ANSYS Meshing & Geometry | 6 | December 5, 2010 20:39 |
Problems in compiling paraview in Suse 10.3 platform | chiven | OpenFOAM Installation | 3 | December 1, 2009 08:21 |
[Commercial meshers] ST_Malloc: out of memory.malloc_storage: unable to malloc Velocity SA, | cfdproject | OpenFOAM Meshing & Mesh Conversion | 0 | April 14, 2009 16:45 |