Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] recompile with -fPIC

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Paul Van Allsburg vanallsburg at hope.edu
Tue Aug 7 08:12:29 PDT 2007


>>I've been asked to port a Mandelbrot example written in c to perl - to
>>prepare an exercise to get students familiar with the
>>ideas of writing parallel/distributed code. Perl is what the students will
>>be learning in the course.
>>
>>I have:
>>        installed MPICH release (1.2.7p1) required by the Perl
>>Parallel:MPI module
>>        installed mpiexec-0.82 from OSC, required interface to PBS
>>        compiled the mandelbrot c code with the MPICH mpicc wrapper and
>>successfully ran it using PBS.
>>
>>Next steps:
>>(fail) install the Parallel:MPI code & test,
>>        begin porting the Mandelbrot example...
>>
>><chop>
>>    
>>
Success!  
I found the problem in an earlier install(2006) of lam-mpi had placed mpi.h files in /usr/include that caused the Parallel::MPI install script to fail.  I changed a few lines in Makefile.PL for parallel:MPI from:
$MPIDIR = "/usr/local/mpich/include";
foreach (qw(/usr/mpich/include /usr/local/mpich/include
            /usr/include/mpi /usr/local/include/mpi
            /usr/lib/mpich/include /usr/local/lib/mpich/include))
to:
$MPIDIR = "/usr/local/mpich/include";
foreach (qw(/usr/local/mpich/include))

In brief- I did this:

 - INSTALL MPICH
   get MPICH current release (1.2.7p1)  from http://www-unix.mcs.anl.gov/mpi/mpich1/download.html

wget http://www-unix.mcs.anl.gov/mpi/mpich1/downloads/mpich.tar.gz  
gunzip mpich.tar.gz
tar -xf mpich.tar
cd /home/vanallp/mpich-1.2.7p1
make clean

CFLAGS="-fPIC";export CFLAGS
./configure --with-device=ch_p4 --prefix=/usr/local/mpich --enable-sharedlib | tee config.out
make  | tee make.out
su - root
cd /home/vanallp/mpich-1.2.7p1
make install  |  tee make-install.out

 - now get the correct mpicc in my path

PATH="/usr/local/mpich/bin:$PATH";export PATH

 - INSTALL MPIEXEC

PATH="/usr/local/mpich/bin:$PATH";export PATH
wget http://www.osc.edu/%7Epw/mpiexec/mpiexec-0.82.tgz
gunzip  mpiexec-0.82.tgz
tar -xf  mpiexec-0.82.tar
cd /home/vanallp/mpiexec-0.82
make clean
rm test*
CFLAGS="-fPIC";export CFLAGS
./configure --with-pbs=/usr/local --with-default-comm=mpich-p4  --disable-p4-shmem --prefix=/usr/local/osc | tee config.out
make  | tee make.out
make hello   | tee make-hello.out
./runtests.pl  
su - root
cd /home/vanallp/mpiexec-0.82
make install  | tee make-install.out

 - TESTING  Parallel - Mendelbrot - Master / Slave:
    test mpich & mpiexec with an example in c

cp -R /usr/local/lam-7.1.3/examples/mandelbrot .
cd  mandelbrot
mpicc -o master master.c
mpicc -o slave slave.c

  - my PBS ms.sh script:

#!/bin/sh
#PBS -N ms
#PBS -l nodes=4
#PBS -j oe
PATH="/usr/local/mpich/bin:$PATH";export PATH
alias mpiexec='/usr/local/osc/bin/mpiexec -verbose'
mpiexec -config /home/vanallp/mpi/mpich/ms.config


   - my mpiexec config file: ms.config
-n 1   : /home/vanallp/mpi/mpich/mandelbrot/master
curie* : /home/vanallp/mpi/mpich/mandelbrot/slave

 - submit job to cluster:
qsub ms.sh        
produces --> /home/vanallp/mandel.out   Sun rasterfile formatted file. Try viewing it with eog or xloadimage:

start Xming or CygwinXsvr on windows desktop,
$ eog
$ xloadimage mandel.out


 - INSTALL Perl Parallel::MPI module

wget http://search.cpan.org/CPAN/authors/id/J/JO/JOSH/Parallel-MPI-0.03.tar.gz
tar -zxf Parallel-MPI-0.03.tar.gz
cd Parallel-MPI-0.03
perl Makecurie.PL | tee makecurie.out  <-THIS IS THE MODIFIED Makefile.PL 
make  |  tee make.out
make test | tee make-test.out
su - root
cd /home/vanallp/Parallel-MPI-0.03
make install | tee make-install.out

I also came across a perl parallel example for this specific port by Josh Wilmes and Chris Stevens,
https://bioinformatics.ccr.buffalo.edu/workshop/bioinformatics/Powerpoint/All/Intro_MPI.ppt
that runs successfully.  

Thanks!


-- 
Paul Van Allsburg       
Computational Science & Modeling Facilitator
Natural Sciences Division,  Hope College
35 East 12th Street
Holland, Michigan 49423
616-395-7292 
http://www.hope.edu/academic/csm/





More information about the Beowulf mailing list