Project Description

Dynamic Probe Class Library (DPCL) is an object based C++ class library that provides the necessary infrastructure to allow tool developers and sophisticated tool users to build parallel and serial tools through technology called dynamic instrumentation.

DPCL takes the basic components needed by tool developers and encapsulates them into C++ classes. Each of these classes provide the member functions necessary to interact and dynamically instrument a running application with software patches called probes. Dynamic instrumentation provides the flexibility for tools to insert probes into applications as the application is running and only where it is needed.

What are the benefits? If you are a tool developer, you can focus on developing tools that address the requirement you are trying to fulfill. You don't have to worry about the low level details of individual compilers. You don't have to build the distributed infrastructure to support your tool. If you are a researcher, you can focus your time on the problem you are trying to research. Trial and error is less costly. If you need specialized tools, you can develop them in-house with less effort. If you are a tool user, you will ultimately have better tools, portable tools and more choices.

Ptools Project

DPCL is an official Parallel Tools Consortium project.

Developing DPCL

DPCL is licensed under the IBM Public License. If there's a feature that you'd like to see added to DPCL, consider becoming a part of the DPCL development process. Since DPCL is an open source project, it's easy to get involved.

DPCL Releases

There are two releases available for DPCL. The 3.2.* release stream is intended for use in a DPCL production environment, such as with PE Benchmarker. The 3.3.* release stream is currently intended for development use only and has not been extensively tested. The 3.3.* release stream will become a production release stream at a to be determined date in the future.

DPCL Core Team

The DPCL project is managed by a small, core group of contributors known as the DPCL core team. In addition to having read-write access to the DPCL source code repository, this group has the following responsibilities:

  • Deciding which features go into which releases 
  • Deciding who has access to the DPCL source code repository  
  • Approving the check-in of new or changed source code and documentation 
  • Appointing new members of the core team
The current members of the DPCL core team are:

Albert Feng IBM Corporation
Chip Kent Los Alamos National Laboratory
John Robb IBM Corporation
Dave Wootton IBM Corporation


  • Former team members
  • DPCL is hosted by Logo

Please send web page comments to