Testing MPI on Linux Mint Machines in FH

From dftwiki3
Revision as of 11:34, 19 May 2014 by Thiebaut (talk | contribs) (Test on 3 Hosts)
Jump to: navigation, search

--D. Thiebaut (talk) 13:21, 15 May 2014 (EDT)


MPI Hosts


This section is only visible to computers located at Smith College

Test #1: Run on Multi Cores of Same Host

  • Login for FH345-02
cat > helloWorld.c
/* C Example */
#include <stdio.h>
#include <mpi.h>


int main ( int argc, char *argv[] ) {
 int rank, size;

 MPI_Init (&argc, &argv);      /* starts MPI */
 MPI_Comm_rank (MPI_COMM_WORLD, &rank);        /* get current process id */
 MPI_Comm_size (MPI_COMM_WORLD, &size);        /* get number of processes */
 printf( "Hello world from process %d of %d\n", rank, size );
 MPI_Finalize();
 return 0;
}

[13:14:50] ~/mpi$: mpicc -o hello2 helloWorld.c

[13:16:15] ~/mpi$: mpiexec -np 2 -host localhost  ./hello2 
Hello world from process 0 of 2
Hello world from process 1 of 2


Test on 3 Hosts

  • Generate new password-less entry
    ssh-keygen
    cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
    ls
    ls -l
    eval `ssh-agent -s`
    ssh-add
    ssh 131.229.101.176
  • On all three machines, open ports 12000:12099
sudo -i
ufw allow proto tcp to any port 12000:12099
exit     # (back to normal user shell)
export MPICH_PORT_RANGE=12000:12099

  • Try MPI program
mpiexec  -n 4 -f host_file ./hello1
stdin: is not a tty
stdin: is not a tty 
node 1 : Hello, world
node 0 : Hello, world
node 3 : Hello, world
node 2 : Hello, world