Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29393 Discussions

Problem when executing the fortran program

sahbi
Beginner
1,053 Views
Hello,

I use Intel Fortran 9.0 Windows version with VS2003. I have written a program in which I use arrays with following size: 700*500*300. When I build all is ok, but when I execute the window appears and dissapears and so the program is not executed. In addition, when I want to debug, an error message appears and said that it's not possible to start debugging. I thnik there is a problem with memory and size of arrays because before I build I have tried with the following size 100*50*20 and I have not found a problem.

Please could you help me? I have a project to do and I have no longer enough of time;


Thank you.
0 Kudos
7 Replies
Steven_L_Intel1
Employee
1,053 Views
Well, let's see. Assuming 4-byte reals, 700x500x300 is 420MB - not that big. Hiow many of these arrays do you have and what is the datatype? What happens when you run this program by double-clicking on the EXE or running from a command prompt?

On 32-bit Windows, you are limited to 2GB of address space, with a practical limit of maybe 1.75GB.
0 Kudos
sahbi
Beginner
1,053 Views
Ok, so the arrays are 700*500*300 4-byte reals. There are exactly 65 array having these charectristics. I know that it's a great number of arrays. The problem is that i'am prgramming a 3D-FDTD Algorithm and all these arrays are necessery for this algorithm. So I can not elimiante some arrays.
By clicking on the exe file, there a is an error message indicating that this file (.exe) is not a valid Win 32 application.

Please could you help me?

thank you.
0 Kudos
sahbi
Beginner
1,053 Views
I think I must use allocatable arrays. Maybe this is the only solution.!!
0 Kudos
Steven_L_Intel1
Employee
1,053 Views
65 420MB arrays? That's 27.3GB! You need not only allocatable arrays, but a 64-bit system (and lots of pagefile space). There's no way to get there using 32-bit Windows. Did you not get an error from the linker about this?
0 Kudos
sahbi
Beginner
1,053 Views
No, when linking all is ok, there is no problem or error. Have you any solution to suggest?
0 Kudos
sahbi
Beginner
1,053 Views
what about parallel computing alternative? I think this could solve the problem. But the question is if the Intel Fortan Compiler could support such a computing with VS2003 and what I have to do to configure all the network?

Thank you
0 Kudos
Steven_L_Intel1
Employee
1,053 Views
My guess is that the linker is not checking for overflow when computing the image size and just writes the truncated value to the executable. Since this is so obviously wrong, the image activator complains when you run the EXE.

Perhaps you could solve your problem by spreading it across multiple processes or systems using an MPI library. Many people use MPI with Intel Fortran but it isn't something I'm familiar enough with to give you advice about. You will not be able to solve this using OpenMP or the compiler's auto-parallel features, since they assume a shared memory space.

There are two newsgroups you could use to describe your application and ask for suggestions as to how to use MPI to make up for the lack of virtual address space. The first is comp.parallel.mpi and the second is comp.lang.fortran. You should note when you ask that you are using Windows - most MPI programmers use Linux or UNIX, but it is certainly possible to do MPI on Windows.

I predict that some will tell you what I did earlier - switch to a 64-bit platform (such as a system based on an Intel Core 2 processor running Windows XP x64 or Windows Vista 64-bit). You'll also need Visual Studio 2005 (requires Intel Fortran 9.1 or later) or upgrade to Intel Visual Fortran 10 which includes the necessary Visual Studio pieces. It may also be that there's a different programming approach you can take which will reduce the size or number of arrays you need - those familiar with your type of application might be able to help you there.
0 Kudos
Reply