University of Utah
School of Computing
Home People Research Admissions Site Map  


GEM - Graphical Explorer of MPI Programs
Eclipse Plug-in Update Site


Welcome to the Gauss Group's GEM Eclipse Update Site at the University of Utah School of Computing.


About GEM

GEM is an Eclipse plugin developed to be a graphical front-end for the C/C++ dynamic MPI formal verification tool, In-situ Partial Order (ISP), also developed by the Gauss Group at the Univeristy of Utah.

GEM is designed for Linux and Mac OS/X.

ISP itself is installed separately. The addition of GEM offers a rich graphical front end for ISP, with tools for exploring interleavings and tracking down bugs in MPI programs.

Using ISP, GEM will definitively find MPI bugs in the following classes:

GEM was originally accepted as a contribution to the Eclipse Parallel Tools Platform (PTP) as of the v3.0 release in December, 2009. GEM is now a part of PTP v4.0, released simultaneously with Eclipse Helios (v3.6) in June, 2010 and also with PTP v5.0 & Eclipse Indigo (v3.7) in June 2011.

Be sure to check out:  

New and Noteworthy

GEM v1.3.0 now supports formal verification on remote C/C++ MPI projects.

GEM supports remote C/C++ MPI projects whose connections are through either service provider:

GEM operates and behaves identically with local and remote C/C++ MPI projects (managed-build or makefile). The only limitation is that GEM does not currently support the Happens Before Viewer with remote projects.


GEM Publications


Conference Presentations


ISP Overview and Installation

NOTE: It is required for ISP to be installed and working properly before using GEM.


Installing an Implementation of MPI

Some implementation of MPI must be installed, MPICH2 or OpenMP both work well. You will also need a process manager for clusters, like mpd installed and running. The ISP plug-in assumes your process manager is already running when it is loaded.


Configuring Eclipse for GEM

GEM v1.3.0 was written for Eclipse 3.7 (Indigo), CDT 8.0 and PTP 5.0. It also works well with:

PTP requires a minimum Java execution environment of J2SE-1.5. GEM was compiled against Java 1.5. Our suggestion though, is that you go ahead and make Sun Java 6 the defualt JRE (if it isn't already)

The minimal Java 6 packages you'll need are as follows:

To install the above packages, the following command needs to be executed (Debian based system):

sudo apt-get install sun-java6-jre sun-java6-jdk

Getting the Correct Java Installation

Use the following command to do this:

java -version

This command will print the current active version of java on your system. If there is more than one version of Java installed on your system, use the following command to list them.

update-java-alternatives -l

To change to Sun Java 6, the following command needs to be executed (Debian based system):

sudo update-java-alternatives -s java-6-sun

Installing GEM via Eclipse Helios Release Site

As GEM is currently a part of PTP and the Eclipse 3.6 (Helios) aggregation, we recommend installing GEM through the Eclipse Helios releases update mechanism. Be warned though, the latest version of GEM is usually not on the Eclipse update site. For the latest version, see the instructions below for this update site. These steps will be nearly identical with Eclipse Indigo.

If you have an older version of Eclipse, CDT and PTP and just need GEM, you may follow the directions below and utilize this update site to install GEM.

Upgrading Your Eclipse Install

Helios Updates Dialog Eclipse Helios General Purpose Tools Eclipse Helios General Purpose Tools

Installing GEM from this Update Site

Follow the steps on the Eclipse Wiki page to install CDT (C/C++ Development Tools) and PTP (Parallel Tools Platform).

More detailed information on the Eclipse CDT is here
More detailed information on the Eclipse PTP is here

GEM Documentation and Source Code

Examples Workspace

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

Last updated on 01/17/11