Hybrid MPI+UPC

From HPCRL Wiki
(Difference between revisions)
Jump to: navigation, search
(MPI)
Line 10: Line 10:
  
 
Many hybrid MPI and UPC setups are possible.  In our work, we have used the GCCUPC compiler with the Berkeley UPC runtime.  The instructions here are focused on building the hybrid setup on an Infiniband cluster.  MPI and the BUPC runtime must be build with a compiler that is ABI compatible (i.e. produces binaries that can be linked by) GCC.
 
Many hybrid MPI and UPC setups are possible.  In our work, we have used the GCCUPC compiler with the Berkeley UPC runtime.  The instructions here are focused on building the hybrid setup on an Infiniband cluster.  MPI and the BUPC runtime must be build with a compiler that is ABI compatible (i.e. produces binaries that can be linked by) GCC.
 +
 +
==WARNING==
 +
 +
The current state of the hybrid MPI+UPC environment is in the proof-of-concept phase.  We are working to improve the level of support and interoperability, but at present there are many caveats and challenges involved in setting up the environment.  Expect things to be broken right now.
  
 
==GCCUPC==
 
==GCCUPC==
Line 31: Line 35:
  
 
==Hydra Process Manager==
 
==Hydra Process Manager==
 +
 +
Build and install the Hydra process manager.
  
 
=Writing Hybrid Codes=
 
=Writing Hybrid Codes=
  
 
=Running Hybrid Codes=
 
=Running Hybrid Codes=

Revision as of 20:50, 5 May 2010

This page is intended to serve as early documentation on hybrid parallel programming using MPI and Unified Parallel C.

Contents

Papers

Hybrid Parallel Programming with MPI and Unified Parallel C pdf
James Dinan, Pavan Balaji, Ewing Lusk, P. Sadayappan, Rajeev Thakur.
Proc. 7th ACM Conf. on Computing Frontiers (CF). Bertinoro, Italy. May 17-19, 2010.

Building the Environment

Many hybrid MPI and UPC setups are possible. In our work, we have used the GCCUPC compiler with the Berkeley UPC runtime. The instructions here are focused on building the hybrid setup on an Infiniband cluster. MPI and the BUPC runtime must be build with a compiler that is ABI compatible (i.e. produces binaries that can be linked by) GCC.

WARNING

The current state of the hybrid MPI+UPC environment is in the proof-of-concept phase. We are working to improve the level of support and interoperability, but at present there are many caveats and challenges involved in setting up the environment. Expect things to be broken right now.

GCCUPC

  1. Download GCCUPC [1]
  2. Untar the source code
  3. Make a separate build directory
  4. Run configure from the build directory, no special options are needed
  5. Build and install GCCUPC

Berlekey UPC Runtime

  1. Download the BUPC runtime system [2]
  2. Configure the runtime with the following options:
    1. ...
  3. Build and install the BUPC runtime

MPI

Build and install MVAPICH [3]. No special options are needed.

Hydra Process Manager

Build and install the Hydra process manager.

Writing Hybrid Codes

Running Hybrid Codes

Personal tools