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:
- Runtime tools that allow developers to monitor and control the execution of parallel applications
- Debugging tools for locating runtime errors in parallel applications
- Analysis tools that provide advanced editing, error checking, and programmer assistance for developing parallel applications
- A framework for the integration of additional tools, such as performance tools for analyzing and optimizing the performance of parallel applications
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