Upload
alaina-stone
View
214
Download
1
Embed Size (px)
Citation preview
Overview of Eclipse Parallel Tools Platform
Adam Leko
UPC Group
HCS Research Laboratory
University of Florida
Color encoding key:
Blue: Information
Red: Negative note
Green: Positive note
2
Basic Information
Name: Eclipse Parallel Tools Platform (PTP) Developer: Los Alamos National Lab (LANL) Current Version:
Currently unreleased Website:
http://www.eclipse.org/ptp/ Contact:
Nathan DeBardeleben Greg Watson
3
Related Project: Eclipse Platform What is Eclipse?
In business-speak: “An open platform for tool integration built by an open community of tool providers”
In short: a framework for developing IDEs Sponsored by IBM and other commercial companies
Several IDEs based off of the Eclipse platform already exist Java IDE, C/C++ IDE, several others Much more functionality is also available through plugins to
the Eclipse platform Several new Eclipse-based projects are popping up
and the project’s structure itself is still evolving
4
Eclipse Platform Architecture
Eclipse idea: provide a basic framework as a starting point for other ideas
Framework contains such things as user interface elements (source code editor, etc) and basic project management facilities
Overall architecture shown right (taken from [1])
5
PTP Overview An extension to the Eclipse platform for writing, debugging,
and integration of existing parallel performance tools into the Eclipse IDE Uses existing Eclipse C/C++ development tool as a starting point Also supports Fortran development
Fortran IDE environment for Eclipse is available at http://www.eclipse.org/ptp/downloads.html
Incorporates an abstract interface for starting and monitoring parallel jobs as to support many different architectures
Main components C, C++, and Fortran IDE Parallel job launch utility Parallel debugger
6
PTP Software Architecture (see [2])
7
Project Status Currently under development! Much work left to go before project will be in a usable state Summary of tasks (taken from PTP website) shown below (as
of 6/29/2005)
Description of task Status Owner
Parallel Runtime Model Design and implement a parallel model that will be used to represent a parallel machine/program.
Completed Nathan DeBardeleben
Parallel Runtime Views New views which provide efficient and scalable representation of parallel model.
In progress Nathan DeBardeleben
Parallel Runtime API Provide an API that can be used to interface to external parallel runtimes.
In progress Nathan DeBardeleben
Parallel Runtime API Implementation for OpenRTE Provide an implementation of the API that supports the Open MPI runtime.
In progress Nathan DeBardeleben
Parallel Runtime API Implementation for MPICH/ClustermaticProvide an implementation of the API that supports MPICH on a Clustermatic (bproc) machine
Assigned Nathan DeBardeleben
Parallel Runtime API Implementation for MPICHProvide an implementation of the API that supports MPICH out-of-the-box.
Not yet assigned
8
Project Status (2)Parallel Debug Model Extend CDT debug model to support parallel debugging.
Not yet assigned
Parallel Debug Views New views which support parallel debugging requirements.
Not yet assigned
Parallel Debug API Provide a debug API that can be used to communicate with external parallel debug
controllers. The API will need to deal with issues specific to parallel debugging, such as managing groups of processes, handling large numbers of events, etc.
Not yet assigned
Prototype Parallel Debug API Implementation Provide a prototype implementation of the parallel debug API that can be used for
testing/evaluations purposes. Not yet assigned
Parallel Debug API Implementation For External Debuggers Provide implementations of the parallel debug API that support a range of external
parallel debuggers (e.g. idb, totalview).Not yet assigned
Fortran Development Tools Develop an initial version of FDT. This will comprise a copy of CDT that has been
modified to add Fortran language support. Completed Craig Rasmussen
Comman Language Support Identify and separate components of CDT that are language independent. Define
interfaces that will allow C and Fortran to utilize these comman language services.
In Progress Craig Rasmussen
9
PTP General Comments The Eclipse IDE does provide a nice development environment and is
getting better every day The addition of a parallel development IDE is very nice Traditional development tools (make, emacs, vim, cvs, etc) can work well,
but IDEs do offer some advantages Being able to write, test, and debug code from within a single interface Better tool integration than what is possible with ad-hoc methods
Based on available documentation [2], PTP is geared towards initial development of parallel programs Focus on source code management, job launching, and parallel debugging No explicit hooks for parallel performance tools
If an IDE is desired for UPC and SHMEM development, PTP represents an ideal (only?) candidate However, still much work to be done on the project! Best to wait until project matures, then we can integrate our performance tool
with PTP if desired
10
References
[1] “Eclipse Platform Technical Overview,” February 2003. Available from http://www.eclipse.org/articles/index.html
[2] Watson, Greg. “ptp design document,” April 8, 2005.
Available from http://www.eclipse.org/ptp/docs/design.html