Porting from a Cray.

David Vos dvos12 at calvin.edu
Tue Jul 10 07:46:37 PDT 2001


We have a physics program that is currently being run on a Cray out in
California.  We would like to port it to run on our Beowulf
cluster.  The code doesn't look highly parallel, so we will probably just
run a copy of the program on each node with different
inputs.  Unfortunately there are several problems.

1.  It is written in Fortran -- I don't know much fortran.

2.  It is dependent on SGI's libsci.  I need to set it up using different
libraries.

3.  I'm not a math major, so I have difficulty finding an appropriate
library function call to replace their complex-to-complex fast fourier
transforms. (I really don't know what that function is doing).

When I compile the program, I get the following linking errors:
/tmp/ccXTbCI2.o: In function `aproxh_':
/tmp/ccXTbCI2.o(.text+0x1025): undefined reference to `ccfft_'
/tmp/ccXTbCI2.o(.text+0x1466): undefined reference to `ccfft_'
/tmp/ccXTbCI2.o(.text+0x172d): undefined reference to `ccfft_'
/tmp/ccXTbCI2.o: In function `canonical_':
/tmp/ccXTbCI2.o(.text+0x23e0): undefined reference to `cheev_'
/tmp/ccXTbCI2.o: In function `doit_':
/tmp/ccXTbCI2.o(.text+0x36fe): undefined reference to `tremain_'
/tmp/ccXTbCI2.o(.text+0x42f9): undefined reference to `tremain_'
/tmp/ccXTbCI2.o: In function `exacth_':
/tmp/ccXTbCI2.o(.text+0x455c): undefined reference to `ccfft2d_'
/tmp/ccXTbCI2.o(.text+0x4a4a): undefined reference to `ccfft2d_'
/tmp/ccXTbCI2.o(.text+0x4e45): undefined reference to `ccfft2d_'
/tmp/ccXTbCI2.o: In function `h05diag_':
/tmp/ccXTbCI2.o(.text+0x7944): undefined reference to `cheev_'
/tmp/ccXTbCI2.o: In function `imagpc_':
/tmp/ccXTbCI2.o(.text+0x8697): undefined reference to `ccfft2d_'
/tmp/ccXTbCI2.o(.text+0x8a18): undefined reference to `tremain_'
/tmp/ccXTbCI2.o(.text+0x8b10): undefined reference to `ccfft2d_'
/tmp/ccXTbCI2.o(.text+0x8f6a): undefined reference to `ccfft2d_'
collect2: ld returned 1 exit status

I can cut out the tremain() calls, since we aren't concerned about that on
this computer.  I think I can convert the cheev since it is just LAPACK,
and I know I can get copies of that.  The problem is the ccfft and
ccfft2d.  There are a lot of FFT libraries out, but I don't know what
would be an exact substitute for these functions.

If there would be an exact port of libsci, then that would be really
nice.  But, if someone can point me in the right direction, I would
appreciate it.

Don't worry about it too much, because I can try to recruit a physics
major to help me.  But, if anyone has run into similar situations, I would
appreciate their suggestions.

David





More information about the Beowulf mailing list