Collective Communication Module
Collectives Made Easy

Timothy H. Kaiser, Ph.D.

Coherent Cognition

Department of Defense
High Performance Computing Modernization Program (HPCMP)
Programming Environment and Training (PET) Activities Program.
Prime Contract No. GS04T01BFC0060
Mississippi State University Subcontract No. 0606808-01090729-24
Task Order Number: N62306-01-D-7110/0009

Two talks with a common theme

Coherent Cognition

The Problem

The Solution
Collective Communications Module

The CCM user callable routines

ccm_init ccm_close ccm_bcast ccm_barrier
ccm_reduce ccm_allreduce ccm_scatter ccm_scatterv
ccm_gather ccm_gatherv ccm_alltoall ccm_alltoallv
ccm_info ccm_testing ccm_print_warning ccm_time

Things were done "differently"

CCM Uses Fortran 90 technologies

Fewer arguments: much simpler to use

CCM has Compile time error checking

CCM has Runtime error checking

CCM has more useful utility functions

CCM has more robust Barrier and Checkin routines

CCM API document has good examples

Hello world using CCM_MOD and MPI

program ccm_init_x1 
  use ccm_mod
  call ccm_init(myid,nodes)
  write(*,*)"hello: ",myid," of ",nodes
  call ccm_close()
end program
program ccm_init_x1
  include "mpif.h"
  call mpi_init(ierr)
  call mpi_com_size(mpi_comm_world,nodes,ierr)
  call mpi_com_rank(mpi_comm_world,myid,ierr)
  write(*,*)"hello: ",myid," of ",nodes
  call mpi_finalize(ierr)
end program

Let's look at...

The API/Reference manual


Some examples compared to MPI


How do you get it?

How do you build and use it?

How do you run all of the examples?

A digression:
A Blue Horizon (IBM SP) mapping to mpprun

Create mpprun:

#!/bin/csh -f
poe $3 -nodes 1 -tasks_per_node $2 -rmpool 1 -euilib ip -euidevice en0

Tar file is in ~tkaiser/mpi_ref.tar

Interactive nodes: ssh

Some notes about the distribution

SHMEM Reference Implementation

What still needs to be done?

Should this be a PTOOL's Project?


Feedback to :