[Beowulf] 64-bit AMD Opteron with 32-bit Intel Xeon possible?

Jeramy Ashlock Jeramy.Ashlock at Colorado.EDU
Wed Aug 29 18:31:01 PDT 2007

Hello, I'm a newbie to Beowulf clusters and mpi, and I'm a little 
confused as to how to proceed because I don't have a standard 
homogeneous cluster.  I'm reading the Introduction to MPI from the PACS 
group and "Beowulf cluster computing with Linux" by Gropp et al. to 
learn how to later parallelize my code, but I'm trying to get MPI up and 
running at the same time. 

For now I have only 2 dual-processor (smp) machines from ASL that I am 
trying to get working together with a fortran 90 code that includes the 
LAPACK solver ZGESVX.  One machine has 32-bit Xeons, the other has 
64-bit Opterons.  To complicate things even more, I have a Lahey f95 
compiler on the 32-bit machine using the Intel MKL for the solver 
routine, and a PGI f95 compiler on the 64-bit machine using the ACML for 
the solver routine. 

I tried to get mpich2 working, but couldn't get the ring to work with my 
iptables, and mpich1 is recommended for heterogeneous clusters 
anyways.   I know LAM-MPI is designed for heterogeneous clusters, and 
mpich1 has some 64-bit issues with the PGI compiler (see 
http://www.pgroup.com/resources/mpich/mpich126_pgi60.htm), but PGI does 
not support debugging with LAM-MPI.  So for now, I'm trying to get 
MPICH1 working and I will try LAM-MPI later.

Now, If I first install PGI's portabliity library on the Xeon machine 
and I use  MKL rather than ACML for the solver, I can then use the 
64-bit compiler to create a 32-bit executable that will run on both the 
Opteron and Xeon machines.  My questions are:

1.)  Is it recommended to compile a single executable that will run on 
both machines as I have done, or is it easy to allow different 
executables (i.e. make a 64bit executable for the Opteron machine)?

2.)  When installing MPICH1, should I configure/make/make install 
separately on both machines, or will I end up with library 
incompatibilities because of the 32 vs. 64bit architectures?  Should I 
just install MPICH1 on one machine and copy over the resulting directory 
tree /usr/local/mpich?

sorry for the ugly mess and thanks in advance for any assistance you can 

More information about the Beowulf mailing list