The Parallel Tools Platform (PTP, http://eclipse.org/ptp
) provides tools that
can assist in software development for parallel computer systems. While the
PTP's runtime and debug perspectives provide assistance in the execution and
debugging of parallel programs, the developer has to program the
parallel code first! The PLDT portion of PTP provides tools to aid in this
development, and can even stand alone without the rest of PTP.
Initial tools in
PLDT include aids for writing parallel programs in the two most common parallel
programming paradigms: MPI (Message Passing Interface) for cluster and
distributed memory systems, and OpenMP for shared memory and multi-core
machines -- altho they are not strictly for these different architectures and in
fact are often used together.
These tools augment the content assist, context sensitive help, and
documentation features that CDT
provides for C and C++ code,
provides for Fortran.
The newest features go a step further and provide static analysis to detect
common problems in parallel codes. Analysis of MPI barrier
statements finds matching barriers, detects locations where the program could
deadlock, and shows a path through the code that could
cause the problem. Analysis of OpenMP code detects several common problems
based on OpenMP usage, and concurrency analysis can
determine what portions of the program can execute in parallel.
I will also discuss recent contributions to the CDT that we implemented for our
analysis, and how they can be used for other analysis of C/C++ code.
Beth R. Tibbitts is a 28+ year veteran of software development in IBM,
including APL and LISP, both underdog languages and environments, and
eventually C++ and Java.
Beth worked on Expert Systems tools in her early days at IBM Research.
She then worked in debugger development.
Beth wrote Java book reviews and articles for the IBM developerworks
site in its earlier days. She developed software in Java for IBM
"Reinventing Education" grants, for training/evaluation of ADHD
children, and for making web sites more accessible to persons with disabilities.
She became a fan of Eclipse a few years ago and has written tools
for programmers and users including tools for porting C and C++ programs
to Linux, and now in the area of High Performance and High Productivity Tools.
Beth is a committer on the
Parallel Tools Platform (PTP) Eclipse project.