1
1
openmpi/examples
Jeff Squyres e139f4427a New examples for the updated MPI Java bindings
This commit was SVN r29269.
2013-09-26 22:48:02 +00:00
..
dtrace Updated README to use the OMPI_COMM_WORLD_RANK instead of the old vpid env-var. 2008-08-05 11:31:45 +00:00
connectivity_c.c Add simple test that sends a message between all the ranks in the job. 2007-02-28 21:38:02 +00:00
hello_c.c Add the new MPI-3 function MPI_GET_LIBRARY_VERSION. 2012-02-02 23:57:09 +00:00
hello_cxx.cc Update C++ examples to say that Open MPI no longer builds the MPI C++ 2013-01-28 22:22:26 +00:00
hello_mpifh.f == Highlights == 2012-04-18 15:57:29 +00:00
hello_shmem.c Per the RFC schedule, this commit adds Mellanox OpenSHMEM to the trunk. It does not yet run on OSX or with CM PML for an MTL other than MXM. Mellanox is aware of these issues and is in the process of resolving them. This should be added to \ncmr=v1.7.4:subject=Move OSHMEM to 1.7.4:reviewer=rhc 2013-09-10 15:34:09 +00:00
hello_usempi.f90 == Highlights == 2012-04-18 15:57:29 +00:00
hello_usempif08.f90 == Highlights == 2012-04-18 15:57:29 +00:00
Hello.java New examples for the updated MPI Java bindings 2013-09-26 22:48:02 +00:00
Makefile Per the RFC schedule, this commit adds Mellanox OpenSHMEM to the trunk. It does not yet run on OSX or with CM PML for an MTL other than MXM. Mellanox is aware of these issues and is in the process of resolving them. This should be added to \ncmr=v1.7.4:subject=Move OSHMEM to 1.7.4:reviewer=rhc 2013-09-10 15:34:09 +00:00
Makefile.include == Highlights == 2012-04-18 15:57:29 +00:00
README Per the RFC schedule, this commit adds Mellanox OpenSHMEM to the trunk. It does not yet run on OSX or with CM PML for an MTL other than MXM. Mellanox is aware of these issues and is in the process of resolving them. This should be added to \ncmr=v1.7.4:subject=Move OSHMEM to 1.7.4:reviewer=rhc 2013-09-10 15:34:09 +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 Update C++ examples to say that Open MPI no longer builds the MPI C++ 2013-01-28 22:22:26 +00:00
ring_mpifh.f == Highlights == 2012-04-18 15:57:29 +00:00
ring_usempi.f90 == Highlights == 2012-04-18 15:57:29 +00:00
ring_usempif08.f90 == Highlights == 2012-04-18 15:57:29 +00:00
Ring.java New examples for the updated MPI Java bindings 2013-09-26 22:48:02 +00:00

Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
                        University Research and Technology
                        Corporation.  All rights reserved.
Copyright (c) 2006-2012 Cisco Systems, Inc.  All rights reserved.
Copyright (c) 2007-2009 Sun Microsystems, Inc.  All rights reserved.
Copyright (c) 2010      Oracle and/or its affiliates.  All rights reserved.

$COPYRIGHT$

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.  Excellent MPI tutorials are available here:

        http://www.citutor.org/login.php

Get a free account and login; you can then browse to the list of
available courses.  Look for the ones with "MPI" in the title.

There are two MPI examples in this directory, each using one of six
different MPI interfaces: 

- Hello world
  C:                   hello_c.c
  C++:                 hello_cxx.cc
  Fortran mpif.h:      hello_mpifh.f
  Fortran use mpi:     hello_usempi.f90
  Fortran use mpi_f08: hello_usempif08.f90
  Java:                Hello.java
  OSHMEM:              hello_shmem.c

- Send a trivial message around in a ring
  C:                   ring_c.c
  C++:                 ring_cxx.cc
  Fortran mpif.h:      ring_mpifh.f
  Fortran use mpi:     ring_usempi.f90
  Fortran use mpi_f08: ring_usempif08.f90
  Java:                Ring.java

Additionally, there's one further example application, but this one
only uses the MPI C bindings:

- Test the connectivity between all processes
  C:   connectivity_c.c

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

The Makefile assumes that the wrapper compilers mpicc, mpic++, and
mpifort 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++, mpif.h, use
mpi, and use mpi_f08 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 compile and run these programs if you
wish.

Make today an Open MPI day!