help :ALLOCATE: 5971968 bytes requested; not enough memory

Myparallel computer has 4 nodes .Every node has 1G memory.My program is not a parallel program.It works well when use IFC ,but when we use PGF,it does not work.Compiling and debugging is OK and we can compute a smaller constructure of C-cluster.But when we compute larger cluster ,it always says that “ALLOCATE: 5971968 bytes requested; not enough memory”.My question is that why it is good with IFC but bad with PGF.(I just use this command:pgf90 a.out)
Thanks for any help!

Hi Winter,

When you get this error how much total memory have you allocated? How are you using ALLOCATE? Do you call it many times? In a loop? A few large matrices? Are you deallocating? What types of data are you allocating?

Without seeing your program I can only guess what’s happening. One thing to try if you’re allocating an array that’s over 2Gb, is to compile with “-Mlarge_arrays”.

Thanks,
Mat

Hi Mat,

I am compiling a code written by someone else on 8 node opteron cluster with 8GB on each node.
I am seeing the following runtime error message in the output when not using the -Mlarge_arrays option
ALLOCATE: 3915001088 bytes requested; not enough memory

But When I am using the -Mlarge_arrays option
I am getting compile time error messages

Lowering Error: nonconstant array lower bound for dimension 0 for datatype 57
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 63
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 69
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 75
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 81
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 87
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 93
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 99
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 105
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 111
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 117
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 123
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 129
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 135
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 141
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 147
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 153
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 159
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 165
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 171
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 177
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 183
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 189
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 195
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 201
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 207
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 213
Lowering Error: nonconstant multiplier for dimension 1 for datatype 218
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 218
Lowering Error: nonconstant multiplier for dimension 1 for datatype 223
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 223
Lowering Error: nonconstant multiplier for dimension 1 for datatype 250
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 250
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 258
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 264
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 270
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 276
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 282
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 288
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 294
Lowering Error: nonconstant multiplier for dimension 1 for datatype 309
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 309
Lowering Error: nonconstant multiplier for dimension 1 for datatype 312
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 312
Lowering Error: nonconstant multiplier for dimension 1 for datatype 315
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 315
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 327
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 333
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 345
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 357
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 371
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 377
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 383
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 389
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 395
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 401
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 407
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 413
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 419
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 425
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 431
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 437
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 443
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 449
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 455
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 461
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 467
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 473
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 479
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 485
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 493
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 499
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 505
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 511
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast 5 (atom.f: 69)
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 522
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast 5 (atom.f: 69)
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 525
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast 5 (atom.f: 69)
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 534
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast 5 (atom.f: 69)
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 537
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast 5 (atom.f: 69)
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 540
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast 5 (atom.f: 69)
Lowering Error: nonconstant array lower bound for dimension 0 for datatype 543
Lowering Error: array upper bound is not a symbol for datatype 522
Lowering Error: array upper bound is not a symbol for datatype 525
Lowering Error: array upper bound is not a symbol for datatype 534
Lowering Error: array upper bound is not a symbol for datatype 537
Lowering Error: array upper bound is not a symbol for datatype 540
Lowering Error: array upper bound is not a symbol for datatype 543


Rgds
Bharat

Hi Bharat,

Is this code publically available? If not, can you please send “atom.f” and any dependant files to trs@pgroup.com? Lowering errors don’t have a single cause so having the source is very important. Also, which compiler version are you using (pgf90 -V)?

As for the Allocate error, do you know how much total memory has been allocated? Is the code not deallocating memory thus causing a memory leak? Valgrind (http://www.valgrind.org/) might be useful in helping you track down the cause.

Thanks,
Mat

Hi Mat,
I am using v6.2.
The code is siesta, used for atomistic calculations. It is available for free after signing a license. Unfortunately I don’t know anything about the code.

With -Mlarge_arrays flag

I was using the makefile (included with siesta) suggested for pgf90. In the makefile its suggested to compile atom.f without any optimization flags if using pgf90 and so did I. After seeing the compiling errors with the -Mlarge_arrays flag, I modified the makefile and included -Mlarge_arrays flag for atom.f also. Then I was able to get rid of the compile time errors, but the code was not working (with error messages orginating from siesta code).
It seems with -Mlarge_arrays option, the code is not compiling properly.


Without -Mlarge_arrays

Another interesting thing is the behaviour of the program in serial (single thread) and parallel (mutiple threads using mpich2) modes. The program needs more than 8GB (RAM on the machine) for the calculations I am doing and it tries to gradually increase the memory allocated. In the serial mode, once 8GB is reached, it stops with the message, I posted earlier “ALLOCATE: XXXXXXXX bytes requested; not enough memory”. But in the parallel mode, with 2 threads on the same node, its running fine even after exhausting the physical RAM, with heavy swapping.
The machine has 15GB swap space. Why is the program in serial mode not using the swap space? The OS is Suse 10.1

Hi Bharat,

I’ve sent a license request to Siesta to obtain a copy of the source. Once in house, I’ll investigate the lower error as well as why atom.f needs to be compiled at low optimization.

  • Mat