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

3GB in Windows-XP

shenhawju
Beginner
654 Views
I have tested a Fortran program that can use 3GB RAM in Windows-XP. However, we need to allocate several arrays for the 3GB RAM, and the maximum array has about 1.8 GB. To give 3GB RAM to only one array will produce error. The procedures are:

(1) Change the root system file boot to the following form (change 2gb to 3gb):

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /3gb /fastdetect

(2) Link the Fortran program using LARGEADDRESSAWARE function.
0 Kudos
5 Replies
kostastse
Beginner
654 Views
How can someone implement the second step you're mentioning in a Windows XP pro system with IVF 8, in order to be able to allocate 3 GB of memory in a program?
I have already set the swap file @ 4096MB and included the /3GB switch @ boot.ini file.
0 Kudos
Steven_L_Intel1
Employee
654 Views
You have to use dynamic allocation to go beyond 2GB.
0 Kudos
kostastse
Beginner
654 Views
Ok.
But how will I be able to link the Fortran program using the LARGEADDRESSAWARE function, as mentioned to the first post.
I searched, but couldn't find any clear instructions.
Kostas
0 Kudos
Steven_L_Intel1
Employee
654 Views
Go to the project properties, linker page, command line, type in /largeaddressaware.
0 Kudos
kostastse
Beginner
654 Views
Thanks a lot for your reply. It worked eventually! I managed to allocate about 2.5GB of virtual memory on IVF 8.
I have another question now about single array memory allocation limit in 64-bit systems, but I'll post it in a new topic, just for referencing purposes.
Kostas
0 Kudos
Reply