- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Same thing happens on 64-bit version. (but a couple of lines later -- same size array)
Is there a specified limit on "too big" an array? Or is there a way I can test how much "virtual memory" is left and not let it be allocated?
- Balises:
- Intel® Fortran Compiler
Lien copié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
The array is something like 136X902X4X18X24
32 bit systems seem to fail on the first of these. the 64 bit on the 3rd.
(64 bit is also virtually empty where the swap file is/should be).
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
I reduced the 902 to 102 and it worked on all.
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
32 bit systems seem to fail on the first of these. the 64 bit on the 3rd.
(64 bit is also virtually empty where the swap file is/should be).
Hi Linda,
136x 902x 4x 18x 24 = ~202 MB * 8 bytes ( for Long Doubles ) = ~ 1.616 GB
On aWindows 32-bitoperating system a Win32 application can not use more than 2 GB of memory. This is
by design from Microsoft. It means, you're almost at that limit. It doesn't matter if you set aVirtual Memory
sizeto 16 GB, or 32 GB,for example.
On a Windows64-bit operating system there are no such limitations.If your application fails on the 3rd
attempt to allocatememory for the array it clearly indicates thatmemory wasn't released ( possibly )
after the 1st and 2nd attempts.
As a compromise you could change a data type to a single-precision ( 4 bytes ), but accuracy of
computationswill be affected.
You could alsouse a Task Manager toinvestigate what is going on whenthe application is trying to
allocate the array, especially ona 64-bit platform for the2nd and 3rd attempts.
Best regards,
Sergey
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
This may happen often enough that I will change those three arrays to single precision. I believe they are mostly used in some outputs and the precision may not be so important.
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
There is another less known option and it allows to change memory mappingfor a Windows 32-bit platforms.
A 32-bit Windowscouldbestarted with the /3GB option. Here is a link to Microsoft's Technet article:
http://technet.microsoft.com/en-us/library/bb124810(EXCHG.65).aspx
Please take a look if you're interested. But,the /3GB switch is supported only on the following operating
systems:
Windows 2000 Advanced Server
Windows 2000 Datacenter Server
Windows Server 2003 Standard Edition
Windows Server 2003 Enterprise Edition
Windows Server 2003 Datacenter Edition
Best regards,
Sergey
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
I'll try to investigate itnext week.
Merry Christmas!
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Try to useWindows Task Manager because it is the easiest way to monitor how some resources are
allocated, used,etc.You can also use Perfmon.exe application on Windows XP, or Resource Monitor on
Windows 7.
Take a look at two screenshots:

- S'abonner au fil RSS
- Marquer le sujet comme nouveau
- Marquer le sujet comme lu
- Placer ce Sujet en tête de liste pour l'utilisateur actuel
- Marquer
- S'abonner
- Page imprimable