| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| |
| <html> |
| <head> |
| <link rel="stylesheet" type="text/css" href="help.css"> |
| <title>Browser View</title> |
| </head> |
| |
| <body> |
| <a name="top"></a> |
| <table cellspacing="5"> |
| <tr> |
| <td> |
| <img src="images/trident_transparent.png"> |
| </td> |
| <td> |
| <h1>Browser View</h1> |
| </td> |
| </tr> |
| </table> |
| |
| <hr> |
| |
| <h2>Using the Browser View</h2> |
| <p> |
| Before formally verifying an MPI C/C++ application, the number of processes needs to be set |
| for the verification run. You will also need to know how to run GEM itself. The links below |
| detail these processes: |
| </p> |
| |
| <ul> |
| <li> |
| <a href="gettingStarted.html">Getting Started</a> |
| </li> |
| <li> |
| <a href="setNumProcs.html">Setting the Number of Processes</a> |
| </li> |
| <li> |
| <a href="gettingStarted.html#rungem">Running GEM</a>. |
| </li> |
| </ul> |
| |
| <p> |
| When GEM has finished the verification of your MPI C/C++ application, the Console, Browser and Analyzer Views will all be |
| opened and depending on what is specified in the <a href="preferences.html#gemprefs">GEM Preference Page</a>, |
| one of these views will be brought to the foreground and given the active focus. |
| </p> |
| |
| <h2>Browser Overview</h2> |
| <p> |
| This highly functional view summarizes and categorically groups all of the errors and warnings found |
| by GEM for 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 localize and fix MPI errors |
| and warnings flagged by GEM within their source code. |
| </p> |
| |
| <p> |
| <i>The image below shows what the Browser View might look like followed by an explanation of its components.</i> |
| </p> |
| |
| <img src="images/browserIntegration.png" width="900" height="680"/> |
| |
| <h2>Browser View Tabs</h2> |
| |
| <p> |
| Below the GEM Browser View's summary label (the line above the tabs) is a section containing a tab for |
| each category of error or warning that was found by GEM at runtime. By selecting a particular tab, |
| the user is given detailed information on each occurrence of this error or warning in their MPI code. |
| Clicking on any of these occurrences takes the user to the offending line of source code within the Eclipse |
| editor. If there are no instances of the problem, then there is a short message indicating such. Furthermore, a |
| user is shown which types of errors are presented via the icons of the tab (see icons directly below). |
| </p> |
| |
| <p> |
| The following is a listing of all errors and warnings summarized by the GEM Browser View, |
| each with a detailed description. |
| </p> |
| |
| <ul> |
| <li> |
| <img src="images/no-error.gif"> |
| Indicates that there are no instances of this particular error/problem. |
| </li> |
| <li> |
| <img src="images/magnified-trident.gif"> |
| Tells the user that this error/problem is present in their code. |
| </li> |
| </ul> |
| |
| <h3>Deadlocks Tab</h3> |
| This tab allows the user to visit all calls that did not complete due to a detected deadlock. |
| |
| <h3>Assertion Violations Tab</h3> |
| This tab lists all local assertion violations found. Clicking any one of these will take the user to the line of |
| source code with the failed assertion. |
| |
| <h3>Leaks Tab</h3> |
| 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). |
| |
| <h3>Irrelevant Barriers Tab</h3> |
| 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 MPI application. |
| This could potentially speed the application up with the absence of unnecessary synchronization. |
| |
| <h3>Type Mismatches Tab</h3> |
| These are warnings about the send type not matching the receive type. |
| In some cases this may be intentional, but often times it is a programming mistake. |
| |
| <br/><br/> |
| <hr/> |
| |
| <h2>Button Explanations</h2> |
| <p> |
| <img height="20" src="images/setNumProcsCombo.gif" width="47" /> The drop down combo-box shows the current number of |
| processes and lets the user conveniently choose a new value for the next GEM run. |
| </p> |
| |
| <p> |
| <img height="16" src="images/trident.gif" width="12" /> This will re-run GEM on the current MPI project. This is |
| equivalent to choosing "Formally Verify MPI Program" from the toolbar button drop-down and is provided |
| for convenience. |
| </p> |
| |
| <br/><br/> |
| <hr/> |
| |
| <h2>Menu & Toolbar Options</h2> |
| <img src="images/terminate.gif"> |
| Terminate Operation - Forcibly terminates the current GEM operation |
| <br/> |
| <img src="images/save-file.gif"> |
| Save to File - Saves a listing of all results to a local text file. |
| <br/> |
| <img src="images/help-contents.gif"> |
| Get Browser Help - Opens the Eclipse help topic related to the Browser View page. |
| |
| <p> |
| <b>Note:</b> This same functionality can be obtained through the Browser View context and pull-down menus. |
| </p> |
| |
| <br/><br/> |
| <p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p> |
| <br/><br/> |
| |
| <hr> |
| <center> |
| <p> |
| School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT |
| 84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br> |
| <a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a> |
| </p> |
| |
| </center> |
| |
| </body> |
| </html> |