P
pkoniusz
Dear all.
I've had a simple way of creating array of floats:
my $xfArray=((pack "f1", 0.0) x $nSize);
I was able to create up to 10^9 long arrays of floats and pass them to perl inline c for further processing.
One beautiful day, I started getting message:
panic: memory wrap at prepare_chisqr_fastG3.pl line 917.
I thought this is due to fragmented memory on servers as some of them aren't rising this error. Then I tried ordinary MALLOC in C which was able always allocate the desired amount of memory.
My question is what could have happened? I've been trying to allocate less than 10% of overall RAM available on my machine (148GB RAM) ... It works with MALLOC, does not with the above code any more ...
This is the version of perl used:
This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi
Any sugestions?
Bests,
P.
I've had a simple way of creating array of floats:
my $xfArray=((pack "f1", 0.0) x $nSize);
I was able to create up to 10^9 long arrays of floats and pass them to perl inline c for further processing.
One beautiful day, I started getting message:
panic: memory wrap at prepare_chisqr_fastG3.pl line 917.
I thought this is due to fragmented memory on servers as some of them aren't rising this error. Then I tried ordinary MALLOC in C which was able always allocate the desired amount of memory.
My question is what could have happened? I've been trying to allocate less than 10% of overall RAM available on my machine (148GB RAM) ... It works with MALLOC, does not with the above code any more ...
This is the version of perl used:
This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi
Any sugestions?
Bests,
P.