- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My problem is that i am trying to use a very big 3d array: a(10000,10000,10000).
When i compile it,it's working without any errors,but when i try to run it,the response is just Killed.
I thougth that could be my memory,but i thing i have enougth memory to run it:cat /proc/meminfo
MemTotal: 3737196 kB
MemFree: 754556 kB
Buffers: 105640 kB
Cached: 2642720 kB
SwapCached: 0 kB
Active: 741680 kB
Inactive: 2071252 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3737196 kB
LowFree: 754556 kB
SwapTotal: 8393920 kB
SwapFree: 8393812 kB
Dirty: 128 kB
Writeback: 0 kB
AnonPages: 64520 kB
Mapped: 28592 kB
Slab: 138872 kB
PageTables: 6324 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 10262516 kB
Committed_AS: 131548 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 18776 kB
VmallocChunk: 34359717003 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
Does anyone know how can i make sure if is not a memory problem?
Here is the code:
PROGRAM Main
IMPLICIT NONE
integer:: i_viv
integer actual(10000,10000,10000)
do i_viv = 1,10000
if(i_viv.eq.1000) then
actual(i_viv,i_viv,i_viv)=i_viv+2
endif
enddo
end
If i change integer actual(10000,10000,24) it works. How could i know which is the reason for the killed response??
Thanks everybody
When i compile it,it's working without any errors,but when i try to run it,the response is just Killed.
I thougth that could be my memory,but i thing i have enougth memory to run it:cat /proc/meminfo
MemTotal: 3737196 kB
MemFree: 754556 kB
Buffers: 105640 kB
Cached: 2642720 kB
SwapCached: 0 kB
Active: 741680 kB
Inactive: 2071252 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3737196 kB
LowFree: 754556 kB
SwapTotal: 8393920 kB
SwapFree: 8393812 kB
Dirty: 128 kB
Writeback: 0 kB
AnonPages: 64520 kB
Mapped: 28592 kB
Slab: 138872 kB
PageTables: 6324 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 10262516 kB
Committed_AS: 131548 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 18776 kB
VmallocChunk: 34359717003 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
Does anyone know how can i make sure if is not a memory problem?
Here is the code:
PROGRAM Main
IMPLICIT NONE
integer:: i_viv
integer actual(10000,10000,10000)
do i_viv = 1,10000
if(i_viv.eq.1000) then
actual(i_viv,i_viv,i_viv)=i_viv+2
endif
enddo
end
If i change integer actual(10000,10000,24) it works. How could i know which is the reason for the killed response??
Thanks everybody
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
With default integer index, you will be able to address only within an 8GB array. On any ifort platform other than ia64, the usual way to use arrays bigger than 2GB is to declare them ALLOCATABLE.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot,i think it works.
At this moment it is running,so probably you are rigth.
ALLOCATABLE is the solution.
At this moment it is running,so probably you are rigth.
ALLOCATABLE is the solution.

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