HELLO_MPI
Hello World, Using MPI


HELLO_MPI is a C++ program which prints out "Hello, World!", while invoking the MPI parallel programming system.

If you're just trying to learn MPI, or learning how to use MPI on a different computer system, or in batch mode, it's helpful if you start with a very simple program with a tiny amount of output that should print immediately if things are working well.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

HELLO_MPI is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a Python version.

Related Data and Programs:

COMMUNICATOR_MPI, a C++ program which creates new communicators involving a subset of initial set of MPI processes in the default communicator MPI_COMM_WORLD.

HEAT_MPI, a C++ program which solves the 1D Time Dependent Heat Equation using MPI.

HELLO, a C++ program which prints out "Hello, world!".

HELLO_OPENMP, a C++ program which prints out "Hello, world!" using the OpenMP parallel programming environment.

MOAB, examples which illustrate the use of the MOAB job scheduler for a computer cluster.

MPI, C++ programs which illustrate the use of the MPI application program interface for carrying out parallel computatioins in a distributed memory environment.

MPI_STUBS, a C++ library which contains "stub" MPI routines, allowing a user to compile, load, and possibly run an MPI program on a serial machine.

MULTITASK_MPI, a C++ program which demonstrates how to "multitask", that is, to execute several unrelated and distinct tasks simultaneously, using MPI for parallel execution.

PRIME_MPI, a C++ program which counts the number of primes between 1 and N, using MPI for parallel execution.

QUAD_MPI, a C++ program which approximates an integral using a quadrature rule, and carries out the computation in parallel using MPI.

RANDOM_MPI, a C++ program which demonstrates one way to generate the same sequence of random numbers for both sequential execution and parallel execution under MPI.

RING_MPI, a C++ program which uses the MPI parallel programming environment, and measures the time necessary to copy a set of data around a ring of processes.

SATISFY_MPI, a C++ program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem, using MPI to carry out the calculation in parallel.

SEARCH_MPI, a C++ program which searches integers between A and B for a value J such that F(J) = C, using MPI for parallel execution.

WAVE_MPI, a C++ program which uses finite differences and MPI to estimate a solution to the wave equation.

Reference:

  1. Michael Quinn,
    Parallel Programming in C with MPI and OpenMP,
    McGraw-Hill, 2004,
    ISBN13: 978-0071232654,
    LC: QA76.73.C15.Q55.

Source Code:

Examples and Tests:

HELLO_FSU compiles and runs the program on the FSU HPC cluster.

HELLO_LOCAL compiles and runs the program on the local system, which might work if OpenMPI is installed, and which might make sense if your system has multiple cores.

HELLO_SYSX compiles and runs the program on Virginia Tech's System X cluster.

You can go up one level to the C++ source codes.


Last revised on 24 October 2011.