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

Maximum memory under win7 64bit with 64bit compiler

Wee_Beng_T_
Beginner
485 Views
Hi,

I understand that max memory to run program is 2gb under win 32bit.

Now I'm using win7 64bit with 64bit compiler. What's the new theoretical and practical limit now?

What can I do to maximize this amount of memory?

Thanks!
0 Kudos
1 Solution
4 Replies
TimP
Honored Contributor III
485 Views
If you've set restrictions on your program which liimit it to 2GB on Win32, those restrictions may apply under X64 as well. The primary means for going beyond 2GB is with allocatable arrays. In Win32 you gain potentially just 1GB additional non-contiguous address space for those; Win-x64 gives you more than your physical memory.
0 Kudos
SergeyKostrov
Valued Contributor II
485 Views
Quoting quarkz
Hi,

I understand that max memory to run program is 2gb under win 32bit.

[SergeyK] For a 32-bitWindows OSwithout AWEthis is 2GB.
For a 32-bitWindows OSwith AWEthis is more than2GB.

Now I'm using win7 64bit with 64bit compiler. What's the new theoretical and practical limit now?

[SergeyK] Please take a lookat a piece of code from a 'malloc.h' header file.

What can I do to maximize this amount of memory?

[SergeyK] More physical memory and abiggerVirtual Memory file.
Also, try to avoid Memory Leaks in your application.

...

/* Maximum heap request the heap manager will attempt */

#ifdef _WIN64
#define _HEAP_MAXREQ 0xFFFFFFFFFFFFFFE0
#else
#define _HEAP_MAXREQ 0xFFFFFFE0
#endif
...

Note: AWE - Address Windowing Extensions ( a Microsoft's technology )

0 Kudos
Reply