Instructions

These examples show how to build and run several versions of MPI on the Power nodes. To build/run these examples:

  1. In a new directory, download the examples
    wget http://geco.mines.edu/prototype/Show_me_Power8_and_GPU_examples/mpiversions/mpiversions.tgz
  2. Uncompress it
    tar -xzf mpiversions.tgz
  3. Get an interactive session on ppc001 or ppc002.
    srun -N 1 --tasks-per-node=1 -p ppc-build --share --time=1:00:00 --pty bash
  4. Run the script buildit. This sets up the environment and does a make.
    ./buildit
  5. Exit the interactive session.
    exit
  6. Run the batch script
    sbatch -p ppc power_script

buildit

A script that sets up the environment and then does a make

Makefile

Makefile for the examples.

phostone.c

/************************************************************
 * This is a glorified hello world program. Each processor 
 * prints name, rank, and other information as described below.
 * ************************************************************/
phostone arguments:
          -h : Print this help message

no arguments : Print a list of the nodes on which the command is run.

 -f or -1    : Same as no argument but print MPI task id and Thread id
               If run with OpenMP threading enabled OMP_NUM_THREADS > 1
               there will be a line per MPI task and Thread.

 -F or -2    : Add columns to tell first MPI task on a node and and the
               numbering of tasks on a node. (Hint: pipe this output in
               to sort -r

 -a          : Print a listing of the environmental variables passed to
               MPI task. (Hint: use the -l option with SLURM to prepend MPI
               task #.)

power_script

A script for running the examples.

Versions Built:

phostone.ibm
phostone with the IBM version of MPI
phostone.old
phostone with gcc 4.8.5 and OpenMPI
phostone.new
phostone with gcc 5.2.1 and OpenMPI
phostone.xlc
phostone with xlc and OpenMPI