Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Configuration issues
Revision as of 13:47, 5 January 2012 by Unnamed Poltroon (Talk)
Overview
- This page is intended to a provide a single source of information on configuration issues, though it links to existing documentation in the user guides, mailing lists, and tutorials.
- In order to run a remote parallel application in Eclipse, at minimum you will need to set up a resource manager configuration, run configuration, and set environment variables.
- The resource manager is a configuration utility for specifying what resource (i.e. machine) will be used and how (e.g. what scheduler).
- A run configuration contains information particular to the run of a project on a given resource. The resource must be set up through the resource manager before the run configuration can be done.
- Theses guides assume the PTP plug-ins are installed.
Resource Manager Setup
- There are several types for resource managers to choose from. You may learn about them here:
- A remote launch is simply the execution of a binary on a remote machine, unmediated by a parallel execution program such as mpiexec or mpirun or a batch system such as PBS.
- If you are unsure which to use, try to ssh into the machine to see if it supports a particular type (e.g. run locate mpich2/lib to see if the mpich2 libraries are installed). If you are still unsure, visit the site page for the machine if there exists one; otherwise ask your systems administrator what parallel and/or job submission services are available.
- See the user guide on [setting up resource managers in general] to learn how to add a resource manager.
- In addition, see the user guide documentation on setting up IBM [LoadLeveler], [Parallel Environment], [PBS], and [SLURM] if you are configuring those.
Run Configuration
- Run configurations are per-resource and per-project, which means you need a resource manager set up as well as an existing project to run.
- See the [user guide documentation on setting up run configurations in general].
Loading Remote Environment Variables for a Synchronized Project
- An environment variable is a named value associated with a terminal session. Values take the form of strings, but numeric values can be stored and manipulated as strings.
- Environment variables are local; thus, if you change a variable in a terminal session, its changes affect only that terminal session.
- Environment variables are inherited by child processes. Child processes cannot change environment variables associated with the parent.
- Some important environment variables:
- PATH: paths to binary files. If you have installed software in user space, make sure you update your $PATH to include the path to those binaries; then you can call them from anywhere.
- LD_LIBRARY_PATH: paths to shared libraries. If an application in your $PATH uses shared libraries not within $LD_LIBRARY_PATH, you'll need to set $LD_LIBRARY_PATH to include them. Otherwise you will get an error such as: "libsomething.so: could not find shared library"
- The command for defining an environment variable is export VAR=VALUE, where VAR is the name of the environment variable and VALUE is the value.
- After definition, environment variables may be referenced as $VAR, with a dollar sign ($) before the variable name. E.g. echo $VAR following the above definition will print VALUE.
- E.g.:
- export GREETING="Hello"
- export PATH=$PATH:$HOME/bin
- Environment variables can be set per session on the command line, but are not stored. To store them, one may define them in ~/.bashrc or ~/.profile so that they load on startup (the files ~/.bashrc and ~/.profile contain instructions which execute upon startup of a terminal session).
- If you change ~/.bashrc or ~/.profile and want to start a new session with its changes, use the command source [filename], as in source ~/.bashrc or source ~/.profile.
- If you are not using bash, then you will need to change the shell-specific configuration.
Private/Public Key Decryption Failure
- If you encounter a "failed to decrypt key_name" message, it may be due to a disparity between the encryption algorithms that generate the imported and exported keys rather than misconfiguration.
- Try updating to Jcsh 0.1.44 from Orbit by adding [this link] as a repository.
- See [user-ptp archives] for more details.
- Jcsh 0.1.44 will be released automatically with Juno.
Configuration / Setup of SDM
- Download the SDM from http://www.eclipse.org/downloads/download.php?file=/tools/ptp/updates/indigo/ptp-proxy-5.0.4-201111121445.zip
- Unzip this and run 'sh BUILD' in proxy/org.eclipse.ptp.macosx.x86_5.0.4.201111121445
- Get a copy of gfortran from here: http://hpc.sourceforge.net/ then install it in / (as root)
- Launch Eclipse and create a new Fortran Hello World project.
- Edit the makefile; change the fortran compiler to /usr/local/bin/gfortran, and remove the -O2 optimization.
- Compile it by clicking on the hammer.
- Create an Open MPI resource manager.
- Create a debug configuration using this project and RM, set the executable, and set number of procs to 1.
- On the debug tab, select SDM from step 2. Make sure session host is 'localhost'.
- Launch the debug session.