Difference between revisions of "PTP/release notes/6.0"

From Eclipsepedia

Jump to: navigation, search
(Resource Managers)
(Components and Pre-Requisites)
 
(21 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
#[[#Install_or_Update_Java|Install or Update Java]]  
 
#[[#Install_or_Update_Java|Install or Update Java]]  
 
#Install Eclipse and PTP by doing one of the following:  
 
#Install Eclipse and PTP by doing one of the following:  
##[[#Option_1:_Full_Install|Full Install using the all-in-one Eclipse IDE for Parallel Application Developers]], or  
+
##[[#Option_1:_Full_Install|Full Install using the all-in-one Eclipse for Parallel Application Developers]], or  
 
##[[#Option_2:_Install_into_an_existing_Eclipse|Install into an existing Eclipse]]  
 
##[[#Option_2:_Install_into_an_existing_Eclipse|Install into an existing Eclipse]]  
 
#[[#Install_optional_PTP_server_components|Install optional PTP server components]]  
 
#[[#Install_optional_PTP_server_components|Install optional PTP server components]]  
Line 43: Line 43:
 
* git (if Synchronized projects are used) - version 1.5 or later
 
* git (if Synchronized projects are used) - version 1.5 or later
 
* Java (if RDT remote projects are used)
 
* Java (if RDT remote projects are used)
 +
* Perl (for System Monitoring)
 +
* gdb (for Parallel Debugger)
  
 
=== Main Features  ===
 
=== Main Features  ===
Line 174: Line 176:
 
''Note: In the following steps, <code>6.0.0.201106140904</code> corresponds to the numeric version and build date of the PTP release. Later releases will have a different version number and build date. Use the latest one installed on your system.''  
 
''Note: In the following steps, <code>6.0.0.201106140904</code> corresponds to the numeric version and build date of the PTP release. Later releases will have a different version number and build date. Use the latest one installed on your system.''  
  
#Download the (ptp-proxy-6.0.x.zip) server zip file from the PTP downloads page: [http://www.eclipse.org/ptp/downloads.php]  
+
#Download the (ptp-proxy-6.0.x.zip) server/proxy zip file from the PTP downloads page: [http://www.eclipse.org/ptp/downloads.php]  
#Copy the server zip file to the target machine  
+
#Copy the proxy zip file to the target machine  
#Unzip the server zip file into a temporary location  
+
#Unzip the proxy zip file into a temporary location  
 
#Change to the <code>proxy</code> directory  
 
#Change to the <code>proxy</code> directory  
 
#Locate the following directory, replacing <code>&lt;os&gt;</code> and <code>&lt;arch&gt;</code> with the target system's operating system and architecture respectively:  
 
#Locate the following directory, replacing <code>&lt;os&gt;</code> and <code>&lt;arch&gt;</code> with the target system's operating system and architecture respectively:  
Line 341: Line 343:
 
=== Updating from the Parallel Package to a more recent release ===
 
=== Updating from the Parallel Package to a more recent release ===
  
(This description may also apply to updating from a "Eclipse IDE for Parallel Application Developers" (parallel package) to a PTP more recent release, e.g. 6.0.x)
+
(This description may also apply to updating from an "Eclipse for Parallel Application Developers" (parallel package) to a PTP more recent release, e.g. 6.0.x)
  
The normal way to update PTP is to use Help > Check for Updates, however there are two reasons this may not report any updates are available:
+
The normal way to update PTP is to use Help > Check for Updates, however there are two reasons this may not report any updates are available, even when a PTP update exists.
  
# If you installed the Eclipse IDE for Parallel Application Developers or some other Eclipse build
+
# If you installed the Eclipse for Parallel Application Developers or some other Eclipse build
 +
#* Because unless you installed a subsequent update from the PTP-specific update site, "Check for Updates" only looks at the site(s) you installed initially from
 
# If the PTP update site is not enabled in the update manager
 
# If the PTP update site is not enabled in the update manager
  
 
If "Check for Updates" does not report any updates, follow the steps below. Note that these steps only need to be done once, and "Check for Updates" should work for subsequent releases.
 
If "Check for Updates" does not report any updates, follow the steps below. Note that these steps only need to be done once, and "Check for Updates" should work for subsequent releases.
===Installing a new PTP build or release===
+
 
# Open Help > Install New Software...
+
=== Installing a new PTP build or release ===
# Click on "Available Software Sites"
+
 
# Locate the PTP update site and make sure it is checked. If it doesn't exist, create a new one.
+
#Open Help &gt; Install New Software...  
#* The PTP update site URL is http://download.eclipse.org/tools/ptp/updates/juno
+
#Click on "Available Software Sites"  
# Click OK to return to the main dialog
+
#Locate the PTP-specific update site and make sure it is checked. If it doesn't exist, create a new one.  
# If you are using the Eclipse IDE for Parallel Application Developers:
+
#*The PTP update site URL is http://download.eclipse.org/tools/ptp/updates/juno
## Select the PTP update site from the "Work with:" dropdown
+
#Click OK to return to the main dialog  
## Open each category and check the box next to the items that are already installed (the icon shows two arrows). If the icons are grey, the update is already installed for that item.
+
#If you are using the Eclipse for Parallel Application Developers:  
##* [[Image:UpdateIcons.png]]   &nbsp;<br>gray plug icon - feature already installed and up to date; <br>two arrows - feature needs to be updated; <br>color plug - feature is not installed
+
#* Select the PTP update site from the "Work with:" dropdown  
##* Alternatively, check the box next to each category to update everything (and install any packages not already installed)
+
#* Decide how much you want to update/install:
## Click Next and follow the instructions (Next, Next, Finish, accept license)
+
#**Simplest: check the box next to each category to update everything (this will also install any packages not already installed, e.g. GEM, TAU, etc...)
# If you are NOT using the Eclipse IDE for Parallel Application Developers:
+
#**Or, to update only the currently-installed PTP features:
## Click Cancel to quit the update manager
+
#***Open each category and check the box next to the items that are already installed (the icon shows two arrows). If the icons are grey, the update is already installed for that item.  
## Select Help > Check for Updates
+
#***[[Image:UpdateIcons.png]] &nbsp;<br>gray plug icon - feature already installed and up to date; <br>two arrows - feature needs to be updated; <br>color plug - feature is not installed
## Follow the instructions
+
#*Click Next and follow the instructions (Next, Next, Finish, accept license).
 +
#If you are NOT using the version of PTP from your original Eclipse for Parallel Application Developers, that is, if you installed from http://download.eclipse.org/tools/ptp/updates/juno directly since then, then updating should work:  
 +
##Click Cancel to quit the update manager  
 +
##Select Help &gt; Check for Updates  
 +
##Follow the instructions
 +
 
 +
Once you install from http://download.eclipse.org/tools/ptp/updates/juno, either initially, or on top of Eclipse for Parallel Application Developers, the Help &gt; Check for Updates will work after that to update from this site as well.
  
 
== Test your installation  ==
 
== Test your installation  ==
Line 372: Line 381:
 
#Start Eclipse. (You may need to use the -clean parameter to force it to recognize new features and plug-ins).  
 
#Start Eclipse. (You may need to use the -clean parameter to force it to recognize new features and plug-ins).  
 
#Switch to the C/C++ perspective (Window &gt; Open Perspective &gt; Other...)  
 
#Switch to the C/C++ perspective (Window &gt; Open Perspective &gt; Other...)  
#Create a small MPI C project.  
+
#Create a small MPI C project.
#Open the PTP Runtime perspective (Window&gt;Open Perspective&gt;Other...).
+
#Create a launch configuration (Run &gt; Run Configurations...) and create a run configuration for a Parallel Application.  
#Create a new resource manager (e.g. Open MPI) and start it. You should see a machine and one or more nodes appear in the 'Machines View'.
+
#*Fill in the information for the particular type of target system configuration
#Create a launch configuration (Run &gt; Run Configurations...) and create a launch configuration for a Parallel Application.  
+
#*Fill in the information for the particular type of resource manager.
+
 
#*For example, for an Open MPI application this includes (but may not be limited to):  
 
#*For example, for an Open MPI application this includes (but may not be limited to):  
 
#**On Resources tab, select Number of processes  
 
#**On Resources tab, select Number of processes  
Line 568: Line 575:
 
! Description
 
! Description
 
|-
 
|-
| Parallel Tools Platform Core
+
| Fortran Development Tools (Photran)
| Y
+
| N
| Core components of PTP
+
| Adds Fortran support to Eclipse (PTP not required)
 +
|-
 +
| IBM XL Fortran Compiler Support
 +
| N
 +
| Adds support for the IBM XL Fortran compiler to Photran
 +
|-
 +
| Linux Intel(R) Fortran Compiler Support
 +
| N
 +
| Adds support for the Intel(R) Linux Fortran compiler to Photran
 
|-
 
|-
 
| Parallel Tools Platform End-User Runtime  
 
| Parallel Tools Platform End-User Runtime  
Line 576: Line 591:
 
| Main PTP feature that combines PTP Core, resource managers, and other components
 
| Main PTP feature that combines PTP Core, resource managers, and other components
 
|-
 
|-
| PTP Remote Services
+
| Parallel Tools Platform SDK
| Y (for remote services)
+
| N
| Adds a remote services abstraction that can be used to connect to remote systems using either Remote Tools or RSE. Can be installed as a stand-alone component.
+
| Adds documentation and APIs for extending PTP functionality
 
|-
 
|-
 
| PTP Common External Components  
 
| PTP Common External Components  
| Y (for proxy agents and debugger)
+
| N
| Components that must be installed on a target system to support certain resource managers and the debugger
+
| Components that must be installed for certain target system and the debugger
 
|-
 
|-
 
| PTP Common Utilities  
 
| PTP Common Utilities  
 
| Y  
 
| Y  
 
| Common utility functions. Can be installed as a stand-alone component.
 
| Common utility functions. Can be installed as a stand-alone component.
 +
|-
 +
| PTP Contributed Target System Configurations
 +
| N
 +
| Target configurations to support various systems, including XSEDE systems
 +
|-
 +
| PTP Core Components
 +
| Y
 +
| Core components of PTP
 +
|-
 +
| PTP External Tools Framework
 +
| N
 +
| Adds support for the integration of external tools
 +
|-
 +
| PTP External Tools Framework TAU Extension
 +
| N
 +
| Adds support for the integration of the Tuning and Analysis Utilities (TAU)
 +
|-
 +
| PTP External Tools Framework TAU Extension for Fortran
 +
| N
 +
| Adds support for the integration of the TAU with Photran
 +
|-
 +
| PTP Fortran Project Synchronization Support
 +
| N
 +
| Adds support for Fortran synchronized projects
 +
|-
 +
| PTP Fortran Support
 +
| N
 +
| Adds support for Fortran to PTP. Includes Photran plus a number of other Fortran features
 +
|-
 +
| PTP Graphical Explorer for MPI Programs (GEM)
 +
| N
 +
| Adds support for GEM
 +
|-
 +
| PTP JAXB Resource Manager Support
 +
| Y
 +
| Adds the JAXB resource manager framework
 +
|-
 +
| PTP LML JAXB Resource Manager
 +
| Y
 +
| Adds support for monitoring of JAXB target configurations
 +
|-
 +
| PTP LML Support
 +
| Y
 +
| Adds target system monitoring services
 
|-
 
|-
 
| PTP Parallel Language Development Tools  
 
| PTP Parallel Language Development Tools  
Line 592: Line 651:
 
| Adds MPI, OpenMP, LAPI, and UPC analysis and assistance tools
 
| Adds MPI, OpenMP, LAPI, and UPC analysis and assistance tools
 
|-
 
|-
| PTP Parallel Language Development Tools LAPI Support  
+
| PTP Parallel Language Development Tools Fortran Support
 +
| N
 +
| Adds PLDT support to Fortran projects
 +
|-
 +
| PTP Parallel Language Development Tools UPC Support  
 
| N  
 
| N  
| Adds LAPI assistance tools
+
| Adds PLDT support for UPC projects
 
|-
 
|-
| PTP External Tools Framework
+
| PTP Parallel Performance Wizard (PPW)
 +
| N
 +
| Adds support for PPW
 +
|-
 +
| PTP RDT Remote Tools Support
 
| N  
 
| N  
| Adds support for the integration of external tools (formerly Performance Tools Framework)
+
| Adds Remote Tools support to RDT
 
|-
 
|-
| PTP External Tools Framework TAU Support  
+
| PTP RDT XL C/C++ Compiler Support
 
| N  
 
| N  
| Adds support for the integration of the Tuning and Analysis Utilities (TAU)
+
| Adds IBM XL C/C++ compiler support to RDT
 
|-
 
|-
| PTP Remote Tools  
+
| PTP RDT Remote C Editor
| N (recommended)  
+
| N
| Light weight ssh-based remote services. Can be installed as a stand-alone component.
+
| Adds an editor for RDT projects
 +
|-
 +
| PTP Remote Development Tools (RDT)
 +
| N  
 +
| Adds support for remote C/C++ projects (not synchronized)
 +
|-
 +
| PTP Remote Project Synchronization Support
 +
| Y
 +
| Adds synchronized project support to PTP
 +
|-
 +
| PTP Remote Services
 +
| Y
 +
| Adds functionality for connection to remote systems
 +
|-
 +
| PTP Remote System Explorer Adapter
 +
| N
 +
| Adds support to allow PTP to use the remote services provided by RSE
 
|-
 
|-
| PTP Remote Tools Enabler
+
| PTP Remote Tools Adapter
 
| N (recommended)  
 
| N (recommended)  
 
| Adds support to allow PTP to use the remote services provided by Remote Tools
 
| Adds support to allow PTP to use the remote services provided by Remote Tools
 
|-
 
|-
| PTP RSE Enabler
+
| PTP Remote Tools Services
 
| N (recommended)  
 
| N (recommended)  
| Adds support to allow PTP to use the remote services provided by RSE
+
| Light weight ssh-based remote services. Can be installed as a stand-alone component.
 
|-
 
|-
| PTP Scalable Debug Manager  
+
| PTP Resource Manager for IBM LoadLeveler
| N (recommended)
+
| N  
| External component to allow debugging of parallel applications. Can be installed as a stand-alone component.
+
| Legacy component for supporting LoadLeveler. Superseded by JAXB target configurations.
 
|-
 
|-
| PTP Support For IBM LoadLeveler
+
| PTP Resource Manager for IBM Parallel Environment
 
| N  
 
| N  
| Adds resource manager support for IBM LoadLeveler
+
| Legacy component for supporting Parallel Environment. Superseded by JAXB target configurations.
 
|-
 
|-
| PTP Support For IBM Parallel Environment
+
| PTP Resource Manager for MPICH2
 
| N  
 
| N  
| Adds resource manager support for IBM Parallel Environment
+
| Legacy component for supporting MPICH2. Superseded by JAXB target configurations.
 
|-
 
|-
| PTP Support For MPICH2
+
| PTP Resource Manager for Open MPI
 
| N  
 
| N  
| Adds resource manager support for MPICH2 (Linux or Mac OS X only)
+
| Legacy component for supporting Open MPI. Superseded by JAXB target configurations.
 
|-
 
|-
| PTP Support For Open MPI
+
| PTP Resource Manager for SLURM
| N (recommended)
+
| N  
| Adds resource manager support for Open MPI
+
| Legacy component for supporting SLURM. Superseded by JAXB target configurations.
 
|-
 
|-
| PTP Remote Development Tools (RDT)  
+
| PTP Scalable Communication Infrastructure (SCI)
 +
| N
 +
| C++ based multicast/reduction network for scalable communication
 +
|-
 +
| PTP Scalable Debug Manager (SDM)
 
| N (recommended)  
 
| N (recommended)  
| Adds capability to work with C/C++ projects on a remote machine
+
| External component to allow debugging of parallel applications. Can be installed as a stand-alone component.
 +
|-
 +
| PTP Services Framework
 +
| N
 +
| Framework for managing arbitrary services. Required by RDT
 +
|-
 +
| Rephraser Engine End-User Runtime
 +
| N
 +
| Component required by Photran
 
|}
 
|}

Latest revision as of 20:27, 11 April 2013

Contents

[edit] Overview

This document describes how to install PTP and its pre-requisites. This is intended for PTP users. If you are a PTP Developer and want to build PTP from the plug-ins yourself, see PTP 6.0 Development Environment Setup

The installation process for PTP depends on a number of factors, including the versions of software you have installed on your system, your operating system, and the types of target systems you want to use. The basic installation steps are:

  1. Install or Update Java
  2. Install Eclipse and PTP by doing one of the following:
    1. Full Install using the all-in-one Eclipse for Parallel Application Developers, or
    2. Install into an existing Eclipse
  3. Install optional PTP server components
  4. Install optional RDT server component

Additional installation information is available on:

  1. Installing Open MPI

Note! The PTP SC11 tutorial contains detailed information about installing PTP on your workstation or laptop, including screenshots. You may wish to use the slides as a guide for installing Eclipse and PTP on your workstation or laptop. Then see below for information about installing components on your remote cluster as needed.

See also PTP Configuration Issues

[edit] Components and Pre-Requisites

PTP is a set of plugins that extend the functionality of Eclipse. The following are the minimum requirements for PTP 6.0:

  • Java 1.6 or later
  • Eclipse 4.2 or later (Eclipse 3.8 should also work)
  • C/C++ Developer Tools (CDT) 8.1 or later
  • Remote System Explorer 3.4 or later is required for RDT (although does not need to be used)

The client side of PTP (the system running Eclipse) is supported on the following platforms:

  • Linux
  • Mac OS X
  • Windows

The server-side of PTP (the remote system used to launch/debug and host remote projects) is supported on the following platforms:

  • Linux
  • Mac OS X
  • Unix (e.g. AIX)

Server-side pre-reqs:

  • git (if Synchronized projects are used) - version 1.5 or later
  • Java (if RDT remote projects are used)
  • Perl (for System Monitoring)
  • gdb (for Parallel Debugger)

[edit] Main Features

The PTP plugins are grouped into the following three main components:

Parallel Tools Platform (PTP) End-User Runtime 
This feature contains the core PTP components, including all supported resource managers, the Parallel Language Development Tools (PLDT), and the External Tools Framework (ETFw).
PTP Remote Development Tools (RDT) 
This feature adds support for the development of projects that are located on remote systems. RDT is not required if synchronized projects are used.
Fortran Development Tools (Photran) 
This feature adds support for editing, compiling, and debugging programs written using the Fortran language.

The following table summarizes the components and the pre-requisites required for installation of the PTP features.

Component C/C++ Development Tools (CDT) Remote System Explorer End-User Runtime (RSE) Other
PTP End-User Runtime required optional N/A
PTP Remote Development Tools (RDT) required required N/A
Fortran Development Tools (Photran) required N/A Can be installed independently of PTP

[edit] Optional Features

The PTP optional features are a set of features that provide additional functionality not included in the core PTP components. Most of these features require the installation of third party software or specialized components of CDT. The PTP Optional Features are summarized in the table below:

Component Description
PTP Fortran Support Adds support for Fortran projects to PTP. This component includes Photran, as well as a number of features that add Fortran functionality to PTP.
PTP External Tools Framework TAU Extension Adds support for performance analysis using TAU. Requires installation of TAU on the target system.
PTP Graphical Explorer of MPI Programs (GEM) Adds support for performance analysis using ISP. Requires installation of ISP on the target system.
PTP Parallel Performance Wizard (PPW) Adds support for performance analysis using PPW. Requires installation of PPW on the target system.
PTP Parallel Language Development Tools UPC Support Adds PLDT support for UPC. Requires CDT UPC support.
PTP RDT XL C/C++ Compiler Support Adds support for the IBM XL C/C++ compiler toolchain to RDT. Requires CDT XL C/C++ Compiler Support, and the XL C/C++ compilers to be installed on the target system.
PTP Scalable Communication Infrastructure (SCI) Installs source code for the Scalable Communication Infrastructure (SCI).

[edit] Installation

There are two options for installing PTP: Full install or install into an existing Eclipse. A full install downloads and installs a copy of Eclipse that contains pre-installed PTP plugins. This is the simplest option. Install into an existing Eclipse is useful if you already have Eclipse installed and you just want to add the PTP functionality. Both methods are described in more detail below.

[edit] Install or Update Java

Ensure that a Java Runtime Environment (JRE) version 1.6 or higher is installed. This can be done with the command:

   java -version

In addition an IBM, Sun, or equivalent JRE is required; The gcj-based Java shipped with most Linux distributions does not work with Eclipse. If in doubt, run the above command and check if there is a reference to gcj. If you are using the Linux operating system, download and install either the Sun Java Runtime Environment or the IBM Java Runtime Environment. See also Installing Java for use with Eclipse and PTP.

[edit] Option 1: Full Install

This is the simplest, easiest, and most reliable way to install PTP, and it is recommended for most users.

Download the "Eclipse for Parallel Application Developers" package from http://eclipse.org/downloads/

After downloading and extracting Eclipse (zip or tar file), there's nothing else to the installation process from the Eclipse side. In the extracted folder, simply run the eclipse executable file. It will ask for a workspace location; the default is fine.

  • See also "Updating from the Parallel Package to a more recent release" below

Multi-user installs: Note that the default install assumes that the user has write access to the location where Eclipse in installed (unzipped or un-tarred). See multi-user install information for other scenarios.

[edit] Option 2: Install into an existing Eclipse

This option assumes that you have already installed Eclipse and are familiar with the Eclipse installation process.

We recommend starting with either:

  • "Eclipse Classic" - if you also plan to do Java and/or plugin development, or
  • "Eclipse IDE for C/C++ Developers" - only includes support for C/C++, which is simpler and smaller

Using the table above, choose the components you wish to install, and note the pre-requisites required.

  • If you are unsure, just choose "Parallel Tools Platform (PTP) End-User Runtime"

Make sure Eclipse is running, then follow the steps below:

  1. Open "Help > Install New Software..."
  2. From the "Work with:" drop down, choose "Indigo - http://download.eclipse.org/releases/juno"
    • See below for possible more recent updates to PTP
  3. Open the "General Purpose Tools" category
    • Check the PTP components you require
    • If you are unsure, just choose "Parallel Tools Platform (PTP) End-User Runtime"
    • If your selection requires RSE as a pre-requisite, check "Remote System Explorer End-User Runtime" (Note: this may not be necessary and should be included automatically)
  4. If any of your selections require CDT as a pre-requisite:
    • Open the "Programming Languages" category
    • Check "C/C++ Development Tools"
  5. To add Fortran support:
    • Open the "Programming Languages" category
    • Check "Fortran Development Tools (Photran)" (See the Photran 7.0 User's Guide for more information on installing and using Photran)
  6. Select the "Finish" button and follow the prompts
    • You should restart Eclipse when prompted.

[edit] Install optional PTP debugger component

In order to support parallel debugging, PTP requires an optional server component, called the Scalable Debug Manager (SDM), to be installed on the target system.

Note: In the following steps, 6.0.0.201106140904 corresponds to the numeric version and build date of the PTP release. Later releases will have a different version number and build date. Use the latest one installed on your system.

  1. Download the (ptp-proxy-6.0.x.zip) server/proxy zip file from the PTP downloads page: [1]
  2. Copy the proxy zip file to the target machine
  3. Unzip the proxy zip file into a temporary location
  4. Change to the proxy directory
  5. Locate the following directory, replacing <os> and <arch> with the target system's operating system and architecture respectively:
    • org.eclipse.ptp.<os>.<arch>_5.0.0.201106140904
  6. Change to this directory and run the command:
     sh BUILD

This should build the sdm executable. Check the bin directory to see if there is an sdm executable in it. If you see any errors during the build, please refer to the Trouble Shooting section below.

PTP assumes a default location of the sdm is /usr/local/bin. If desired, however, you can copy the sdm executable to any convenient directory. When you configure a debug launch configuration, you will need to select the sdm executable in this directory.

[edit] Install optional RDT server component

The RDT server component must be installed manually only if *both* of the following are true:

  1. You are using remote projects (not remote synchronized projects)
  2. You wish to use Remote System Explorer (RSE) for remote connections

If you use Remote Tools (supplied as part of the Parallel Tools Platform (PTP) End-User Runtime), the server component is installed and launched automatically. If you plan to use Remote Tools, you can skip this section.

RDT provides advanced parsing and indexing functionality for C/C++ projects in a remote client-server scenario. The RDT server component, which contains the parser and index database, must be located on the same remote machine as the project files.

Note: The RDT server component is based on the RSE dstore server. Therefore setting up the RDT server is very similar to setting up the RSE dstore server. The guide to setting up the RSE dstore server can be found here, however this section contains documentation specific to the RDT server.

Installation on the following systems is covered below:

[edit] Server Installation on Unix, Linux and MacOS X

The following documentation explains how to install the Linux or UNIX server code, start the server daemon, and make a connection to a remote Linux or UNIX server.

Prerequisites

To use the Remote System Explorer communications server daemon you need to install Perl. Using the daemon helps eliminate some of the manual steps when you connect to the server.

Installing the server code

  • Ensure that Perl is installed.
  • Ensure that a Java Runtime Environment (JRE) version 1.5 or higher is installed. An IBM, Sun or equivalent JRE is required; The gcj-based Java shipped with most Linux distributions does not work. If in doubt, run the command java -version and check if there is a reference to gcj.
  • Choose a directory where you want to install the server code. These instructions will use the /home/user/ directory as an example, but you are free to use any directory. When the server archive file is expanded it will create a directory named rdt-server in the location where it is expanded.
  • Go to the PTP 3.0 Builds page and download the RDT server package that suits your operating system to this directory.
  • Switch to the /home/user/ directory.
  • Run the following command in the /home/user directory to extract the server code from the package appropriate to your operating system. For example, for Linux this command is:
    tar -xvf rdt-server-linux-1.0.tar
  • A directory named /home/user/rdt-server will be created that contains the server files.

Starting the server

You can start the RSE communications server with the server daemon, or manually. Before starting the server, make sure the Java command is in your path, you can do this by running the following command:

   java -version

You should see something similar to the following:

   java version "1.5.0_16"
 Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284)
 Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing)
 

If you receive a "command not found" error, then try creating a symbolic link to the java command in /usr/bin by running the following command:

   ln -s  /opt/IBMJava2-141/jre/bin/java /usr/bin/java

To start the server with the server daemon

Ensure that you are running using the root user ID. (If the daemon is not run under root, it will be unable to authenticate connecting users.) Run the following commands:

   su -l root
 cd /home/user/rdt-server
 perl ./daemon.pl [daemonPort] [serverPortRange]

Note that the server daemon runs on port 4075 by default. You can pass the optional daemonPort argument to force a different port if you want. If your daemon runs behind a firewall, you may want to specify the optional serverPortRange argument to restrict selected server ports to the range given:

   perl ./daemon.pl 4075 10000-10010

To start the server manually

Note: In the following discussion we assume that the RSE server has been installed on Linux. If you are running on a UNIX system the script name is server.sh" rather than server.pl.

If you do not have root access on a remote machine, you can start the server manually for your particular user id only. Run the following commands:

   cd /home/user/rdt-server
 perl ./server.pl [port]

These commands run the server.pl script located in the /opt/rseserver directory. The port parameter to the server.pl script is optional. If you do not specify a port, then the server will pick the first one available and print the port number to standard out. By default, it is usually 4033. If you would like to use a different port, you will then have to enter this port number in port property for the Files subsystem for your connection in the Remote System Explorer (see Connecting to the Remote Server, below). Otherwise, you do not need to change this property.

Note: When you connect RSE to the server, the server will terminate as soon as you disconnect the client. The daemon, however, will not terminate.

[edit] Server Installation on Windows

The following documentation explains how to install the Windows server code, start the server daemon, and make a connection to a remote Windows server.

Installing the server code

  1. Choose a directory where you want to install the server code. These instructions will use the C:/ directory as an example, but you are free to use any directory. When the server archive file is expanded it will create a directory named rdt-server in the location where it is expanded.
  2. Go to the PTP 4.0.x Builds page and download the RDT Windows server package.
  3. Copy the file rdt-server-windows-1.0.zip to the <code>C:\ directory (this could be on a different machine).
  4. Use an unzip utility to extract the server code.
  5. A directory named C:\rdt-server will be created that contains the server files.

Starting the server

You can start the RDT communications server manually, or as a daemon.

To start the server as a daemon

Note that the server daemon does not enforce any user authentication. If you run the server daemon, any user can connect to the machine, work with the file system and run commands. Use of the server daemon on Windows systems is not recommended.

Simply double click the daemon.bat program to start a server daemon. You can edit the daemon.bat file to change properties for the daemon, like a specific daemon port to use or to force a port range for the server (in order to comply with firewalls).

The server daemon runs on port 4075 by default. You can pass the optional daemonPort argument to force a different port if you want. If your daemon runs behind a firewall, you may want to specify the optional serverPortRange argument to restrict selected server ports to the range given:

   daemon.bat 4075 10000-10010

To start the server manually

Simply double click on the server.bat program to start the RDT server. The server will pick the first port available and print the port number. By default, it is usually 4033. You will then have to enter this port number in port property for the Files subsystem for your connection in the Remote System Explorer.

For security reasons, the server will only wait a limited time until a client connects (12000 seconds by default). In order to start the server with an exactly specified port or timeout, open a Windows command prompt and enter:

   c:
 cd \rdt-server
 server.bat [port] [timeout]

When you connect RDT to the server, the server will terminate as soon as you disconnect the client. The daemon, however, will not terminate.

[edit] Installing Open MPI

If you do want to build OpenMPI yourself, here are instructions based on building OpenMPI 1.4.2. See the Open MPI FAQ for more information on building and installing Open MPI.

  1. Download the openmpi-1.4.2.tar.gz file
  2. Untar it using the command tar -xzvf openmpi-1.4.2.tar.gz and cd to the directory it creates
  3. Run ./configure
    • The default installation location is /usr/local
    • To install into a different location, e.g. /usr/local/openmpi1.4.2, use the command:
      • ./configure --prefix=/usr/local/openmpi-1.4.2
    • To add the Fortran bindings (test): add --enable-mpi-f77 and/or --enable-mpi-f90
    • Then don't forget to modify PATH, etc:
      • export PATH=/usr/local/openmpi-1.4.2/bin:/usr/local/bin:$PATH
      • export LD_LIBRARY_PATH=/usr/local/openmpi-1.4.2/lib:/usr/local/lib
    • If you have problems with Fortran bindings (e.g. Snow Leopard), you can disable this by adding --disable-mpi-f77 to the configure script
  4. Build and install with sudo make install

Then to check your install:

  1. ompi_info should return version info including version that matches what you installed above.

Build and run a small MPI test case, for example: testMPI.c

  1. mpicc -o testMPI testMPI.c
  2. mpirun -np 4 testMPI

[edit] Updating from a previous release

[edit] Major releases

If you are updating to PTP 6.0 from a previous major release (e.g. 4.0, 5.0, etc.) it is recommended that you start with a completely new installation of Eclipse and a new workspace. Existing projects can be imported into the workspace using one of the available import wizards (File > Import).

[edit] Updating from the Parallel Package to a more recent release

(This description may also apply to updating from an "Eclipse for Parallel Application Developers" (parallel package) to a PTP more recent release, e.g. 6.0.x)

The normal way to update PTP is to use Help > Check for Updates, however there are two reasons this may not report any updates are available, even when a PTP update exists.

  1. If you installed the Eclipse for Parallel Application Developers or some other Eclipse build
    • Because unless you installed a subsequent update from the PTP-specific update site, "Check for Updates" only looks at the site(s) you installed initially from
  2. If the PTP update site is not enabled in the update manager

If "Check for Updates" does not report any updates, follow the steps below. Note that these steps only need to be done once, and "Check for Updates" should work for subsequent releases.

[edit] Installing a new PTP build or release

  1. Open Help > Install New Software...
  2. Click on "Available Software Sites"
  3. Locate the PTP-specific update site and make sure it is checked. If it doesn't exist, create a new one.
  4. Click OK to return to the main dialog
  5. If you are using the Eclipse for Parallel Application Developers:
    • Select the PTP update site from the "Work with:" dropdown
    • Decide how much you want to update/install:
      • Simplest: check the box next to each category to update everything (this will also install any packages not already installed, e.g. GEM, TAU, etc...)
      • Or, to update only the currently-installed PTP features:
        • Open each category and check the box next to the items that are already installed (the icon shows two arrows). If the icons are grey, the update is already installed for that item.
        • UpdateIcons.png  
          gray plug icon - feature already installed and up to date;
          two arrows - feature needs to be updated;
          color plug - feature is not installed
    • Click Next and follow the instructions (Next, Next, Finish, accept license).
  6. If you are NOT using the version of PTP from your original Eclipse for Parallel Application Developers, that is, if you installed from http://download.eclipse.org/tools/ptp/updates/juno directly since then, then updating should work:
    1. Click Cancel to quit the update manager
    2. Select Help > Check for Updates
    3. Follow the instructions

Once you install from http://download.eclipse.org/tools/ptp/updates/juno, either initially, or on top of Eclipse for Parallel Application Developers, the Help > Check for Updates will work after that to update from this site as well.

[edit] Test your installation

The easiest way to test your installation is to create and run an MPI application.

  1. Start Eclipse. (You may need to use the -clean parameter to force it to recognize new features and plug-ins).
  2. Switch to the C/C++ perspective (Window > Open Perspective > Other...)
  3. Create a small MPI C project.
  4. Create a launch configuration (Run > Run Configurations...) and create a run configuration for a Parallel Application.
    • Fill in the information for the particular type of target system configuration
    • For example, for an Open MPI application this includes (but may not be limited to):
      • On Resources tab, select Number of processes
      • On Application tab, select your Project for Parallel Project, and the executable for Application Program.
      • On Debugger tab, find the sdm executable that you build from the command line during the installation process as the "Path to debugger executable"
  5. Launch the application.

More details on using PTP can be found in Help > Help Contents. Click on "Parallel Tools Platform User Guide".

The PTP help is also available online.

[edit] Troubleshooting

  1. I have an OTP token that's required for use with the my remote system. Can I use this with RSE or creating remote c/c++ projects and/or the resource manager?
  2. Solution: Use the OTP password but avoid saving the password with any of the dialogs. If you skip the password in dialogs that prompt for both username and password, you'll get a separate password prompt. Use your OTP password there.

  3. I created a resource manager using the "Remote Tools" remote services but I entered the wrong username/password. How do I change these?
  4. Solution: The Remote Environments view should be in your Eclipse workbench. If it's not, open the "Remote Environments" view by selecting "Window > Show View > Other...", open the "Remote Tools" folder, and selecting "Remote Environments". In the view, open "PTP Remote Host" and double click on the name of the connection you used in the resource manager configuration. Note that a connection must be stopped in order to edit it. Of course, if the username/password is wrong, it probably isn't running.

  5. The parallel debugger does not start (may be stuck in "Upload file" or "Waiting for connection...".)
  6. Solution: There are many reasons that this could be happening:

    • Check that you can run the MPI program successfully (non-debug), both from the command line, and from within Eclipse
    • Check that you have compiled the application for debugging with -g
    • If you are tunneling over ssh using "Remote Tools", check that the debugger session address is set to "localhost"
    • If you are not tunneling, or are using "RSE", check that the debugger session address is set to the hostname of the machine running Eclipse. Try disabling any firewall you have on your local machine.
    • Check that you have installed the sdm on the remote machine, and the path is correct on the "Debugger" tab in the launch configuration
    • See Known Issues - Debugger below

    If still have a problem, ask on ptp-dev mailing list, and be sure to list your platform, PTP version, version of Open MPI (or other system), and what the debugger session address is set to.

  7. The parallel debugger will not honor breakpoints; dialog reports "Writing routing file" and "Master SDM Control has encountered a problem" and "Error completing debug job launch. Reason: Cannot connect to debugger"
  8. Solution: Make sure you have built sdm for your platform (either local or remote). See the above section on PTP/release notes/5.0#Install_optional_PTP_server_components. In the debug launch configuration dialog, make sure you have selected the sdm executable that you built.

  9. I've created an Open MPI resource manager, but it fails to start with the message "Unable to determine version of Open MPI. Please check discover command is correct."
  10. Solution: If the resource manager is local, see troubleshooting local resource managers below. If the resource manager is remote, then it is probably an issue with your PATH or LD_LIBRARY_PATH (or both) on the remote machine. Try running the command ssh remote_host ompi_info -a --parseable. If the ompi_info command is not found, then you need to set your PATH correctly on the remote machine. If you see a message like "ompi_info: error while loading shared libraries: libmpi.so.0: cannot open shared object file: No such file or directory" then you also need to set the LD_LIBRARY_PATH on the remote machine.

  11. Eclipse is unable to start a local resource manager.
  12. Solution: This is usually because your PATH is not being picked up by Eclipse. Most window systems do not get their paths from the shell, so when you launch Eclipse it will have the wrong PATH set. Consult the documentation on your window system for details on how to set the path, or alternatively, launch Eclipse directly from a shell. See also this PTP FAQ item.

  13. Every time I run an application, all the projects in my workspace build.
  14. Solution: Open the Eclipse preferences. Go to "Run/Debug" and click on the "Launching" preference. Uncheck "Build (if required) before launching".

  15. I only see one node when I start an Open MPI resource manager, how do I simulate multiple nodes on a single machine?
  16. Solution: Edit /usr/local/etc/openmpi-default-hostfile (or wherever you installed Open MPI) and add lines containing
    node0
    

    node1 ...

    Edit /etc/hosts and add a localhost entry for each name you added to the openmpi-default-hostfile:

    127.0.0.1 node0
    127.0.0.1 node1
    ...
    

    Edit /usr/local/etc/openmpi-mca-params.conf and add the following to the end:

    orte_default_hostfile = /usr/local/etc/openmpi-default-hostfile
    
  17. I want to alter the hostfile information but don't have root access.
  18. Solution: Create a file, say 'hostfile' in your home directory containing the hostnames of the nodes. Then set the'OMPI_MCA_orte_default_hostfile' environment variable to '$HOME/hostfile'. You'll need to do this in your .bashrc or .tcshrc (the one which is executed when a new shell is created.) Using .bash_profile or .login won't work.

  19. How do I launch eclipse?
  20. Solution: Normally just run the eclipse executable - however, you may want to try this from a command line instead of from a "shortcut" - some OS's or windowing systems do not properly send the environment information. And, some OS's send the wrong info from the command line. Your mileage may vary.

  21. Why are there XML tags in my parallel program output when I run my OpenMPI program in PTP?
  22. Solution: XML tags should be gone in OpenMPI version 1.3.4 and later

  23. Why can't I set a normal (non-parallel) CDT breakpoint in my editor? (Version 4.0.0)
  24. Solution: The Remote C/C++ Editor does not currently support CDT breakpoints. Open the C/C++ Editor on the file instead by right-clicking on the file and selecting "Open With > C/C++ Editor. This problem should be addressed in 4.0.1. Update your version of PTP to 4.0.1 or later.

[edit] Known Issues

[edit] Launching

  1. My launch seems to get stuck at "Opening connection" when starting.
  2. Connecting to a remote system from Eclipse on some client operating systems (in particular Fedora Core 11) generate a Kerberos authentication request. Check the command line where you started Eclipse for a Kerberos prompt. Enter your login name and password when requested.

    Your operating system documentation may provide information on how to disable this request from being generated.

  3. A "Secure Storage" dialog is seen when starting Eclipse on Linux.
  4. Eclipse stores usernames/passwords in secure storage. On some systems, a password (usually your login password) must be entered to unlock this storage before Eclipse can access it. Check your operating system documentation for ways to disable this prompt.

[edit] Debugger

  1. The debugger gets stuck at "Upload file"
  2. When the debugger launches onto a remote system, it attempts to make a connection back to your local machine running Eclipse. If you have the "SSH Tunneling" option enabled on the resource manager, then this connection will be made over the main ssh connection using an ssh tunnel. For this to work, your remote target sshd configuration needs to enable the "GatewayPorts" option. See the sshd_config(5) for more information on this option.

    Workaround: If you are not able to change the sshd configuration on the remote target, the only option is to not use tunneling. This requires direct access from the remote target to your local Eclipse client machine (i.e. you from the remote target system, you should be able to use "ping <local_client_host>".) Also, you'll need to disable the firewall on the local client machine so that the incoming connection is permitted.

  3. The debugger gets stuck at "Waiting for connection"
  4. The debugger requires a filesystem that is shared across all nodes in the cluster in order to distribute routing information. If this routing file doesn't exist, then one or more of the debugger server processes will appear to hang.

    Workaround: In this situation, the routing file must be manually distributed in order for the server processes to proceed.

    This limitation will be addressed in a future version of the debugger.

  5. Accelerator keys (F5, F6) operate on the current process selected in Debug view.
  6. There is currently no way to use these keys for the Parallel Debug view.

  7. Debugger won't connect; breakpoints don't work; error dialogs
  8. Make sure you've built sdm for your target system. See the section on troubleshooting above - items about debugger.

[edit] Remote Development Tools (RDT)

  1. The Remote C/C++ Editor is used by default for local files
  2. RDT currently provides a framework for developing C/C++ programs on remote machines. Although it is our intention that RDT work seamlessly with CDT and other Eclipse plug-ins, there is a problem with the Eclipse platform which hinders interoperabilty between base CDT and RDT, namely that the Remote C/C++ Editor provided by RDT is always used by default for editing C/C++ files.

    Workaround: Although this issue can be worked around by manually selecting the CDT editor (Context Menu >Open With >C/C++ Editor) when you are working with a local CDT project, it can be tedious having to do this for every single file you open. As such, we recommend that you install RDT into an Eclipse installation which you do not intend to do local C/C++ development with. Future versions of Eclipse and RDT should better support local development.

  3. Unable to set CDT breakpoints in the Remote C/C++ Editor
  4. This issue is similar to the previous problem. Right-click on the file and select Open With > C/C++ Editor. Note also that debugging remote projects with the CDT debugger has not been tested. It is likely that problems will occur if the debugger assumes files reside locally, but are actually located on a remote machine. Use at your own risk.

  5. Remote projects are always closed when Eclipse restarts
  6. When you exit and restart Eclipse, all your remote projects are closed. This happens because the .project file is on the remote server and when eclipse starts there is no connection yet, so eclipse thinks the .project file is missing and closes the project.

    Workaround: To work around this issue, simply reopen your projects after the connection to the remote machine has been re-established.

  7. Remote editors are not properly restored on Eclipse restart
  8. If you leave remote editors open upon closing down the workbench, when you restart, the editors will not be properly initialized, showing a "resource not found" error. Closing and reopening the editor will not alleviate the problem. This problem occurs because on startup of the workbench, the remote connection is not yet established, and hence opening the editors fails.

    Workaround: To work around this problem, close all editors opened on remote resources before shutting down the workbench. If the problem occurs, you can alleviate it by closing the affected editors and restarting the workbench.

  9. Cannot cancel builds when using the RSE provider
  10. There is an RSE bug which prevents RSE from forcibly terminating remote processes. As a result, if you use RSE to build, you won't be able to cancel a build while it's in progress.

    Workaround: Use the Remote Tools provider if possible. Otherwise there is no workaround.

  11. Quick Type Hierarchy does nothing
  12. Invoking Quick Type Hierarchy from the editor context menu does not currently do anything.

    Workaround: Use "Open Type Hierarchy" instead to open the Type Hierarchy View for an alternate method of viewing type hierarchy information.

[edit] Parallel Language Development Tools (PLDT)

  1. Analysis of parallel applications located on a remote server doesn't seem to work
  2. Note that not all PLDT features are tested and verified for running with RDT at this time.

    Since 4.0.3, finding artifacts (MPI, OpenMP, UPC) does work on remote projects.

    Workaround: To use other PLDT analysis features, use a local CDT project, instead of a remote project.

[edit] C/C++ Build Issues

  1. I get the error "The Open MPI wrapper compiler was unable to find the specified compiler gcc in your PATH." when I build an MPI program (e.g. created with the Hello MPI World new project wizard).
    • The PATH variable may not be getting communicated to CDT correctly. Copy the contents of your PATH variable in the clipboard, and open the Project Properties, c/c++ build, Environment, add var: PATH and paste in the PATH from cmd line
    • The ptp_ibmpe_proxy and ptp_ibmll_proxy proxies for the IBM PE and IBM LoadLeveler resource managers do not work with LoadLeveler. Messages may be displayed stating that libllapi.so could not be loaded on Linux systems.
    • Depending on the version of LoadLeveler installed, libllapi.so may be a 32 bit shared library or a 64 bit shared library. This can be determined by locating libllapi.so in /opt/ibmll/LoadL. For 32 bit versions, it will be in /opt/ibmll/LoadL/full/lib, /opt/ibmll/LoadL/scheduler/lib, or /opt/ibmll/LoadL/so/lib. For 64 bit versions, libllapi.so will be in the corresponding lib64 directories. You should set the CFLAGS environment variable to contain either the -m32 or -m64 flags before invoking the BUILD script, for instance CFLAGS=" -m64" sh BUILD configure

[edit] Feature Descriptions

Feature Required Description
Fortran Development Tools (Photran) N Adds Fortran support to Eclipse (PTP not required)
IBM XL Fortran Compiler Support N Adds support for the IBM XL Fortran compiler to Photran
Linux Intel(R) Fortran Compiler Support N Adds support for the Intel(R) Linux Fortran compiler to Photran
Parallel Tools Platform End-User Runtime Y Main PTP feature that combines PTP Core, resource managers, and other components
Parallel Tools Platform SDK N Adds documentation and APIs for extending PTP functionality
PTP Common External Components N Components that must be installed for certain target system and the debugger
PTP Common Utilities Y Common utility functions. Can be installed as a stand-alone component.
PTP Contributed Target System Configurations N Target configurations to support various systems, including XSEDE systems
PTP Core Components Y Core components of PTP
PTP External Tools Framework N Adds support for the integration of external tools
PTP External Tools Framework TAU Extension N Adds support for the integration of the Tuning and Analysis Utilities (TAU)
PTP External Tools Framework TAU Extension for Fortran N Adds support for the integration of the TAU with Photran
PTP Fortran Project Synchronization Support N Adds support for Fortran synchronized projects
PTP Fortran Support N Adds support for Fortran to PTP. Includes Photran plus a number of other Fortran features
PTP Graphical Explorer for MPI Programs (GEM) N Adds support for GEM
PTP JAXB Resource Manager Support Y Adds the JAXB resource manager framework
PTP LML JAXB Resource Manager Y Adds support for monitoring of JAXB target configurations
PTP LML Support Y Adds target system monitoring services
PTP Parallel Language Development Tools N (recommended) Adds MPI, OpenMP, LAPI, and UPC analysis and assistance tools
PTP Parallel Language Development Tools Fortran Support N Adds PLDT support to Fortran projects
PTP Parallel Language Development Tools UPC Support N Adds PLDT support for UPC projects
PTP Parallel Performance Wizard (PPW) N Adds support for PPW
PTP RDT Remote Tools Support N Adds Remote Tools support to RDT
PTP RDT XL C/C++ Compiler Support N Adds IBM XL C/C++ compiler support to RDT
PTP RDT Remote C Editor N Adds an editor for RDT projects
PTP Remote Development Tools (RDT) N Adds support for remote C/C++ projects (not synchronized)
PTP Remote Project Synchronization Support Y Adds synchronized project support to PTP
PTP Remote Services Y Adds functionality for connection to remote systems
PTP Remote System Explorer Adapter N Adds support to allow PTP to use the remote services provided by RSE
PTP Remote Tools Adapter N (recommended) Adds support to allow PTP to use the remote services provided by Remote Tools
PTP Remote Tools Services N (recommended) Light weight ssh-based remote services. Can be installed as a stand-alone component.
PTP Resource Manager for IBM LoadLeveler N Legacy component for supporting LoadLeveler. Superseded by JAXB target configurations.
PTP Resource Manager for IBM Parallel Environment N Legacy component for supporting Parallel Environment. Superseded by JAXB target configurations.
PTP Resource Manager for MPICH2 N Legacy component for supporting MPICH2. Superseded by JAXB target configurations.
PTP Resource Manager for Open MPI N Legacy component for supporting Open MPI. Superseded by JAXB target configurations.
PTP Resource Manager for SLURM N Legacy component for supporting SLURM. Superseded by JAXB target configurations.
PTP Scalable Communication Infrastructure (SCI) N C++ based multicast/reduction network for scalable communication
PTP Scalable Debug Manager (SDM) N (recommended) External component to allow debugging of parallel applications. Can be installed as a stand-alone component.
PTP Services Framework N Framework for managing arbitrary services. Required by RDT
Rephraser Engine End-User Runtime N Component required by Photran