Skip to main content
Jump to: navigation, search

Difference between revisions of "PTP/new and noteworthy/5.0.0"

(GEM Browser View)
(Remote Enabled)
Line 62: Line 62:
Target Machine Requirements:
Target Machine Requirements:
* [ ISP] version 0.3.0 or later
* '''ISP''' version 0.3.0 or later
* gcc/g++
* '''gcc/g++'''
* Some implementation of MPI must be installed, MPICH2 or OpenMPI both work well.
* Some implementation of MPI must be installed, MPICH2 or OpenMPI both work well.

Revision as of 12:06, 25 April 2011

Please add new features in PTP 5.0 here and we'll build our N&N/help item from this. Images too please!

"New and Noteworthy" is a tradition for Eclipse projects - an interesting way to present our new features. Screenshots and enticing examples are best! But any information at all is welcome - we can get screenshots later.

The PTP/new_and_noteworthy/4.0.0 is also available.

PTP Resource Managers

Remote Development Tools (RDT)

Parallel Language Development Tools (PLDT)

Photran 7

Code Templates

Code templates make it easier to type common Fortran constructs. For example, by typing "pro", pressing Ctrl+Space, and then pressing Enter to choose the "program...end program" template, Photran will automatically fill in "program <name>" and "end program <name>" statements. As you type the program name, both the "program" and "end program" statements will be adjusted accordingly. Then, press the Enter key to begin filling in the body of the program.


"Correct Indentation" Command

Correct Indentation adjusts the indentation of the selected text in the editor (or the entire file if no text is selected). The current tab width (configured in the workspace preferences) is assumed to constitute one level of indentation.


Editor Improvements

Tabs-to-spaces conversion and custom tab width

It is now possible to set the "convert tabs to spaces" option in the Fortran editor without setting it workspace-wide. It is also possible to set a custom tab width for the Fortran editor.


New Horizontal Ruler

The Fortran editor has a new horizontal ruler. It looks a bit nicer, shows tab stops, and (unlike in previous versions) works in both the free- and fixed-form editors, even when folding is enabled.


New Refactorings

Improved Indexer Performance

Bug Fixes

  • Parser Bugs
  • Managed Make

External Tools Framework (ETFw)

Graphical Explorer of MPI Programs (GEM)

Full GEM help documentation can be found online here

Remote Enabled

GEM now supports remote C/C++ MPI projects whose connections are through one of the following remote service providers:

  • Remote Tools
  • Remote System Explorer

Target Machine Requirements:

  • ISP version 0.3.0 or later
  • gcc/g++
  • Some implementation of MPI must be installed, MPICH2 or OpenMPI both work well.

GEM Browser View

This highly functional view summarizes and categorically groups all of the errors and warnings found by GEM on a particular MPI verification run. The summary label (just above the tabs) gives the user a quick overview of problems found. Errors and warnings are mapped to the corresponding source code lines in the Eclipse editor. The Browser View's tabs help the user to quickly locate and fix MPI errors flagged by GEM in their source code. Full documentation for the GEM Browser View is here

The image below shows what the Browser View should look like along with an explanation of its components.

GEM Browser View
GEM Browser View

Browser View Tabs

Below the GEM Browser summary label (the line above the tabs summarizing the errors and warnings found) is a section containing a tab for category of error or warning that was found in the code. By selecting a particular tab the user is given detailed information on each occurrence of that type of error or warning in their MPI code. Clicking on any of these occurrences takes the user to the offending line in the source code within the Eclipse editor. If there are no instances of the problem then there is a short message indicating as much. Furthermore, a user is shown which types of errors are presented via the icons of the tab (see icons directly below).

    No-error.gif Indicates that there are no instances of this particular type of problem.

    Magnified-trident.gif Tells the user that this problem is present in their code.

Deadlocks Tab: This tab allows the user to visit all of the calls that did not complete due to a detected deadlock.

Assertion Violations Tab: This tab list all local assertion violations found. CLicking any one of these will take the user to the line of source code with the failed assertion.

Leaks Tab: Clicking any of these will take the user to the line of source code where the corresponding un-freed MPI resource was allocated (these are usually MPI communicators and MPI DataTypes).

Irrelevant Barriers Tab: This tab is reserved for Functionally Irrelevant Barriers. Clicking any these will take the user to the corresponding MPI_Barrier call itself, which can then be safely removed without changing the runtime behavior of the program. This could potentially serve to speed the application of in the absence of unnecessary synchronization.

Type Mismatches Tab: These are warnings about the send type not matching the receive type.

Button Explanations

    SetNumProcsCombo.gif The first drop down combo-box shows the current number of processes and lets the user conveniently choose a new value for the next GEM run.

    Trident.gif This will re-run GEM on the current MPI project. This is semantically equivalent to choosing "Formally Verify MPI Program" from the toolbar button drop-down and is provided for convenience.

New Preference Pages

GEM now has two preference pages. (Full documentation is here)

GEM Preference Page

For settings related to how the views and various components within GEM behave and function. Here the user can control which GEM Views are shown and when.

GEM Preference Page
GEM Preference Page

ISP Preference Page

For settings on the underlying formal verification engine GEM uses, In-situ Parital Order (ISP). Most settings and values here are equivalent to the available ISP command line options GEM currently needs support for.

Additions include the following options (also highlighted in the image below):

  • Use Unix Sockets This dramatically increases the speed in which GEM verifies your application if run on a local machine.
  • Host Where ISP Resides This will allow the use of GEM in a distributed setting
ISP Preference Page
ISP Preference Page

Enhanced Console Output

The main enhancement to this view is that during a GEM verification run, this view is active and gives STDOUT and STDERR as it occurs instead of a single lump sum at the end of the verification run. This helps the user to recognize what is happening as the verification is being done at runtime (a status bar of sorts). The active view once verification is complete can be set on the GEM Preference Page.

STDERR is also now in red. GEM console output is now red for STDERR

Parallel Performance Wizard (PPW)

Back to the top