On Feb 22, 2005, at 4:32 PM, Srinivasa Prade Patri wrote:
> Iam running LU decomposition algorithm on a 23 node cluster.
> Each node has 2GB of RAM. When iam trying to run the algorithm for
> single precision complex matrix of size 16400*16400,iam getting the
> following compilation errors.
>
> /tmp/ccmtcg1e.o(.text+0xa1): In function `MAIN__':
> : relocation truncated to fit: R_X86_64_32S .bss
<snip>
> I know for such a big matrix the matrix
> size is more than 2GB (16400*16400*8 Bytes = 2.15GB). IS this the
> reason for the above compilation errors?
>
> If this is the case,do we have any
> techniques where i can run the algorithm for matrix sizes more than
> 16400*16400. Or the cluster iam using is limited for certain problem
> size (16384*16384).
Based on your error messages and some google searches, it looks like
you're tripping up a limitation in at least some versions of the GCC
suite on x86_64 machines. They don't seem to do well with large text
sections (anywhere they have to have hard coded addresses > 2GB in
size. I was unable to reproduce the problems on our Opteron machines,
but they are running a very recently installed version of Gentoo, so
maybe the bug was fixed along the way? Based on that, upgrading might
help.. The other option is to stick the large matrix in the heap
instead of the text or data section by making it dynamically allocated.
That should keep you from angering the linker gods.
Hope this helps,
Brian
--
Brian Barrett
LAM/MPI developer and all around nice guy
Have a LAM/MPI day: http://www.lam-mpi.org/
|