PTP - Overview and Features

The Parallel Tools Platform (PTP) extends Eclipse to enabled the development of parallel applications. It is primarily aimed at message passing codes, such as those using MPI, but also provides support for Open MP and Unified Parallel C (UPC) programs. PTP also includes support for Fortran programs.

PTP provides a range of tools and services to support application development in the following four main areas:

PTP tools are provided for projects located both on the local machine (where Eclipse and PTP are installed) as well as on a remote target machine. Remote machines can be utilized for a variety of services including source file hosting, remote builds, execution and monitoring, and debugging.

Runtime Tools

These tools aid the developer in launching and monitoring parallel applications on a range of local and remote systems. PTP provides a parallel model that represents the state of a (possibly remote) parallel system, and the applications running on that system. This model includes the notion of a resource manager which is used to control interaction with the target system. Developers can use the normal Eclipse launch configuration mechanism to specify the system-specifc attributes necessary to launch a parallel job, and monitor the status of the system and job using a number of different views.

Debugging Tools

PTP provides an integrated parallel debugger that provides a range of basic debugging functions for locating errors in parallel applications. This includes the ability to set breakpoints and control program execution (single step, resume, etc.) across an arbitrary set of application processes. The developer can also drill down into individual process to obtain more detailed information about the process state, variable information, etc.

Analysis Tools

These tools are built on the C/C++ Development Tools (CDT) abstract syntax tree infrastructure and use static analysis techniques to provide a range of advanced editing and error checking features. Examples include content assist for MPI, OpenMP, LAPI, and UPC APIs and directives, barrier analysis for MPI programs, and concurrency analysis for OpenMP programs. Future versions of PTP will combine this with the External Tools Framework to provide dynamic analysis functions, such as parallelization assistance.

External Tools Framework and Performance Tools

The External Tools Framework (formerly the Performance Tools Framework) provides a simple mechanism for integrating external performance tools, and other arbitrary external tools, with PTP. By providing an XML description file, the tool is able to be integrated with the editor, build, and launch systems. A Feedback view provides display of results from arbitrary tools in an Eclipse view and maps the results to source code lines for simplified interaction between the tool's results and the source code, as well as providing extension points for integration of other tools based on results. Currently, support is provided for the Tuning and Analysis Utilities (TAU) performance analysis system and the Parallel Performance Wizard (PPW).

Back to Top | Back to Table of Contents