- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
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
- Marcas:
- Intel® Fortran Compiler
Link copiado
2 Respostas
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
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.
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
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.

Responder
Opções do tópico
- Subscrever fonte RSS
- Marcar tópico como novo
- Marcar tópico como lido
- Flutuar este Tópico para o utilizador atual
- Marcador
- Subscrever
- Página amigável para impressora