Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Comunicados
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29285 Discussões

Killed after OK compilation using 3D arrays

luiceur
Principiante
595 Visualizações
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

0 Kudos
2 Respostas
TimP
Colaborador honorário III
595 Visualizações

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.
luiceur
Principiante
594 Visualizações
Thanks a lot,i think it works.
At this moment it is running,so probably you are rigth.
ALLOCATABLE is the solution.

Responder