PTP: Graphical Explorer of MPI Programs (GEM)


Graphical Explorer of MPI Programs (GEM), part of the Parallel Tools Platform (PTP), is a graphical front end for In-situ Partial Order (ISP), a dynamic formal verification tool for MPI C/C++ programs, developed at the University of Utah. GEM greatly enhances the usability of ISP by providing an intuitive graphical way to track down bugs in MPI C/C++ programs, examine post-runtime results and to analyze MPI runtime behavior.

GEM can be used by anyone who can write simple MPI C/C++ programs, and requires no special training. GEM allows you to formally verify your MPI C/C++ programs automatically without any extra efforts on your part. No code instrumentation is necessary. Gem will definitively flag the following errors and warnings:

In addition, GEM helps you understand as well as step through all relevant process interleavings (schedules). Notice our use of the word relevant: even a short MPI program may have too many (an "exponential number") interleavings. For example, an MPI program with five processes, each containing five MPI calls, can have well in excess of 1000 interleavings. However, ISP generates a new interleaving only when it represents a truly new (as yet unexamined) behavior in your programs.

Overview, Background, and Setup information

  1. GEM Overview
  2. GEM Prerequisites
  3. Getting Started

Help Topics

  1. Setting the Number of Processes
  2. Analyzer View
  3. Browser View
  4. Console View
  5. Understanding Console Output
  6. Happens Before (HB) Viewer
  7. Makefile Project Support
  8. Remote Projects
  9. Preferences
  10. Troubleshooting

Other related topics:

  1. Latest Release of GEM
  2. Latest Release of ISP
  3. Gauss Group Home - Includes all current work and publications
  4. University of Utah School of Computing


Back to Top | Back to Table of Contents


School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT 84112 *