- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
(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.
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You have to use dynamic allocation to go beyond 2GB.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Go to the project properties, linker page, command line, type in /largeaddressaware.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page