1
1
openmpi/examples
Jeff Squyres a4378a6643 Re-define the order of #includes because MPI's C++ bindings
unfortunately redefined some C library constants (SEEK_SET, SEEK_CUR,
SEEK_END).  Scheesh -- who designed those bindings, anyway?

Most <stdio.h>'s and <iostream>'s are sane enough that if those values
are already #define'd, they won't redefine them.  So various other
MPI's out there have counseled that if you want to compile with the
C++ MPI bindings, ensure to include "mpi.h" before <iostream> or
<stdio.h> (in C++ source files).

This commit was SVN r11511.
2006-08-31 18:16:27 +00:00
..
dtrace Create some simple examples of how to use DTrace 2006-08-10 20:09:19 +00:00
hello_c.c - Convert MPI_Init(NULL, NULL) to MPI_Init(&argc, &argv) because 2006-08-08 13:01:17 +00:00
hello_cxx.cc Re-define the order of #includes because MPI's C++ bindings 2006-08-31 18:16:27 +00:00
hello_f77.f Something I've been working on with low bandwidth over the past 2006-07-13 21:03:36 +00:00
hello_f90.f90 Something I've been working on with low bandwidth over the past 2006-07-13 21:03:36 +00:00
Makefile Something I've been working on with low bandwidth over the past 2006-07-13 21:03:36 +00:00
Makefile.include Something I've been working on with low bandwidth over the past 2006-07-13 21:03:36 +00:00
README Something I've been working on with low bandwidth over the past 2006-07-13 21:03:36 +00:00
ring_c.c - Convert MPI_Init(NULL, NULL) to MPI_Init(&argc, &argv) because 2006-08-08 13:01:17 +00:00
ring_cxx.cc Re-define the order of #includes because MPI's C++ bindings 2006-08-31 18:16:27 +00:00
ring_f77.f A few more cleanups 2006-08-08 19:43:21 +00:00
ring_f90.f90 Arrgh - missing ":" in the output (to make it like the others). 2006-08-08 21:35:38 +00:00

Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
                        University Research and Technology
                        Corporation.  All rights reserved.
Copyright (c) 2006      Cisco Systems, Inc.  All rights reserved.

The files in this directory are sample MPI applications provided both
as a trivial primer to MPI as well as simple tests to ensure that your
Open MPI installation is working properly.

If you are looking for a comprehensive MPI tutorial, these samples are
not enough.  An excellent MPI tutorial is available here:

        http://webct.ncsa.uiuc.edu:8900/public/MPI/

There are 2 MPI examples in this directory, each in four languages:

- Hello world
  C:   hello_c.c
  C++: hello_cxx.cc
  F77: hello_f77.f
  F90: hello_f90.f90

- Send a trivial message around in a ring
  C:   ring_c.c
  C++: ring_cxx.cc
  F77: ring_f77.f
  F90: ring_f90.f90

The Makefile in this directory will build as many of the examples as
you have language support (e.g., if you do not have F90 bindings
compiled as part of Open MPI, the F90 examples will be skipped).

The Makefile assumes that the wrapper compilers mpicc, mpic++, mpif77,
and mpif90 are in your path.

Although the Makefile is tailored for Open MPI (e.g., it checks the
"ompi_info" command to see if you have support for C++, F77, and F90),
all of the example programs are pure MPI, and therefore not specific
to Open MPI.  Hence, you can use a different MPI implementation to
complie and run these programs if you wish.

Make today an Open MPI day!