Q: What version of Eclipse and CDT do I need?

PTP 5.0 is designed to work with Eclipse 4.2 (Juno) and CDT 8.1.x. (The all-in-package referenced above now takes care of this for you.)

PTP 5.0 is designed to work with Eclipse 3.7.x (Indigo) and CDT 8.0.x. (The all-in-package referenced above now takes care of this for you.)

PTP 4.0 is designed to work with Eclipse 3.6.x (Helios) and CDT 7.0.x.

PTP 3.0 is designed to work with Eclipse 3.5.x (Galileo) and CDT 6.0.2.

Q: What version of MPI do I need to run PTP?

PTP supports the following MPI runtimes:

Open MPI 1.2.x, 1.3.x, or 1.4.x

MPICH2 1.0.6p1

IBM's Parallel Environment (PE)

The most recent OpenMPI (1.4.x) is recommended for PTP 4.0.x and 5.0.x, although it may work with older releases.

For the Parallel Language Development Tools only, there should be no difference between the different versions of MPI, such as OpenMPI and LamMPI. You just need to configure your project to be built using mpicc rather than gcc (for MPI releases that require that; most do), and to specify the include path to the MPI header files. This should be described in the PLDT help.

Q: What platforms and runtimes are supported by PTP now?

The current release of PTP runs on Linux, MacOS X, and Windows. PTP only supports target systems running Linux, MacOS X, and some kinds of Unix (e.g. AIX).

The Parallel Language Development Tools will run anywhere Eclipse and CDT will run. It may require a version of MPI (specifically, its header files) to aid in the search for MPI artifacts. And an OpenMP header file, if OpenMP analysis is needed. This means you can develop and analyze source files but you can't launch them.

The Remote Development Tools can be used on Linux, MacOS X, and Windows.

Q: How do I install Open MPI?

You may already have it installed. Try running the following command and check the output:

ompi_info

If this doesn't work, download the latest version from the Open MPI site.

Unpack the distribution and run the commands (note that you may have to add extra options to configure to suit your local site - see the Open MPI help documentation for more information):

./configure --prefix=/path/to/your/ompi/install
make
make install

At this point it's a good idea to run a small mpi program to test you have installed Open MPI correctly.

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

Q: How do I build PTP myself?

Q: How do I ask questions about PTP?

Subscribe to the PTP Mailing lists, especially ptp-user, and ask questions there.
This is an excellent place to ask new-user questions.
The ptp-user list is watched by most of our PTP developers as well as many users,
and you can share in their experience. See http://www.eclipse.org/ptp/mailing_lists.php

The Indigo update site (http://download.eclipse.org/releases/indigo) contains the last release of PTP that was built into the Eclipse general update site. Eclipse Indigo updates are released only in September and February. This update site (a.k.a. software repository) is enabled by default when you install Eclipse Indigo (a.k.a. 3.7).

Help > Install New Software.... and install PTP from there

Help > Check for Updates will find the updates for all your installed features that are found there.

PTP maintains its own PTP-specific update site with the most recent release of PTP. Bug fix releases can be more frequent than the main Eclipse. You must enable the PTP-specific update site before the updates will be found.

Q: How do I update my PTP within the package "Eclipse IDE for Parallel Application Developers" ?

Q: I want to live a bit on the bleeding edge. How do I install a more recent PTP build, e.g. to get a bug fix ?

Go to the PTP builds page and find the page for your release (e.g. if you have 4.0.x, find the page with the largest value of x) and download the archive
file (ptp-master-xxx) then use that in the Help > Install New Software... dialog.

Q: When I launch a parallel job how do I stop it from building everything in my workspace ?

Open Preferences (Window > Preferences or on a Mac, Eclipse > Preferences), Open Run/Debug / Launching
Under "General Options" on that page, Uncheck "Build (if required) before launching"

Q: How do I customize the new (JAXB) Configurable Resource Manager?

A detailed guide to the XML Schema for the new Configurable Resource Manager, along with an introductory tutorial slide-set demonstrating some simple modifications to an existing XML definition, are now available at PTP/resource-managers.

To take an existing JAXB-based resource manager and be able to tweak it, you can import it and change the xml data yourself. To do this:

Go to Import..., then open Resource Managers>Resource Manager Definition From Plug-in.

Choose the Resource Manager you want to clone (e.g. PBS-Generic-Batch) RM from the combo.

This should create a new project in your workspace called resourceManagers.

Expand the resourceManagers folder created. The name of the file is what the 'name' of the Resource manager is derived from. Rename it if you like. Spaces in the name are OK, e.g "My RM.xml"

Double click on the xml file to open it in an editor.

Example of a PBS change: Go to the end of the file, and change line 828 from '<monitor-data schedulerType="TORQUE">' to '<monitor-data schedulerType="PBS">'.

Save the file.

Now, to use the new Resource Manager

Go to the System Monitoring perspective and add a new RM.

Use the definition you just edited (should have "(1)" after the name, unless you renamed the file).

If you're planning to change the XML after you have used it to create a RM,

Q: How do I use PTP to connect to a remote system via an intermediate host (multi hop)

where <intermediate-host> is the host name of the intermediate system and <target-host> is the host name of the target system. The first port number (22222) can be any port number greater than 1024 that is not already being used. Use <intermediate-userid>@ if the userid is different from your local system. The second port number must be 22. Once a connection is established to <intermediate-host>, you will need to leave this session connected while you're using PTP. In the resulting session, if you issue the command 'hostname' you should see the value for the intermediate-host system.

Next, when you configure a new resource manager, create a new connection (using Remote Tools) and specify the host name as 'localhost'. Click on the 'Advanced' button, and change the port number from 22 to the number you specified in the command above.

Use this same connection when configuring a remote or synchronized project.

Sample Confirmation

As a confirmation of the tunneling being set up correctly, you can do the following in another terminal window:

ssh -p 22222 <target-userid>@localhost

And in the resulting session, the command 'hostname' should match the target-host system.

If you get an error, e.g. in the console, saying something cannot be found, such as:

error
/bin/sh: ifort: not found
make: *** [test.o] Error 127

Then it likely means that the required file cannot be found, e.g. ifort in this case.

If you are starting Eclipse from a shell add the path you need to the PATH environment variable in your login script.
(Note: reference interactive shell vs. non-interactive shell below in next FAQ item)

If you are starting Eclipse from a Linux window manager (Gnome, KDE, etc.) then consult your window manager documentation for information on how to set environment variables.

If you are starting Eclipse from the MacOS X window manager (Aqua), the PATH must be set by creating a file called environment.plist in a directory called .MacOSX in your home directory.
The file should look like this, with [path_to_something] replaced with the correct path:

Q. When dealing with my remote system I see an error "Invalid java version or java not installed on "<connection name>""

See the other FAQ items about environment variables. Your userid isn't finding Java in your path.

Remote projects (not synchronized projects) need java on the remote system in order to start the indexing service. So make sure java is in your PATH, and it is accessible from a non-interactive shell (see next FAQ item).

Your environment may be set up correctly for an interactive shell but not for a non-interactive shell. You probably want to set up
the same environment for an interactive and non-interactive shell.
For example, for bash, there are at least two files ~/.profile and ~/.bashrc. Make sure you know which ones your system uses. Naturally this depends upon what shell you are running.

~/.profile or .bash_profile– read by ssh in interactive shell on login

~/.bashrc – read by ssh in non-interactive shell on login

Make sure the non-interactive shell is set up properly. Perhaps helpful reference(s):

This is because Lion has introduced new security requirements for gdb to work. This article describes the problem and solution in more detail. Note that gdb is installed by default as /usr/libexec/gdb/gdb-i386-apple-darwin. The /usr/bin/gdb command is just a script that invokes this executable.

The simplest solution is to execute the following commands (this assumes that your user is in the procmod group, check using the 'id' command):