Running interactive applications

Recommended use | License use guidelines | Starting an interactive application

The Geyser and Caldera clusters both have shared nodes that can be used interactively.

To run interactive applications on these systems, log in and submit an interactive job request as described below.

To run advanced visualization applications remotely on the Geyser and Caldera clusters or if your work requires the use of OpenGL, see Running visualization programs.

To run non-interactive batch jobs on these clusters or on Yellowstone, see Running jobs for sample scripts and other documentation. 


Recommended use

Geyser: Use the Geyser cluster for most large-scale data analysis and post-processing tasks.

The queues for Geyser jobs are: geyser, intviz, and bigmem.

Caldera: Use the Caldera cluster for running distributed-memory parallel applications such as ParaView and VisIt, and for general-purpose GPU (GPGPU) code development and testing.

The Caldera queues are: caldera and gpgpu.


License use guidelines

The CISL user community shares a limited number of licenses for running MATLAB, MATLAB Toolboxes, and some other applications.

Follow these guidelines to ensure fair access for all users:

  • Avoid monopolizing these licenses.
  • If you need to use multiple licenses at one time, be considerate of others and finish your session as quickly as possible.
  • Close applications when you are done to free up licenses for others to use.

CISL reserves the right to kill jobs/tasks of users who monopolize these licenses.

To see how many licenses are being used, run licstats at your command line.

licstats

Run it with option -h for additional information.

licstats -h

MATLAB alternative - Octave

Many MATLAB codes run with very little or no modification under Octave, a free interactive data analysis software package with syntax and functionality that are very similar to MATLAB's. Since using Octave is not constrained by license issues, we encourage MATLAB users to try it, particularly those who have long-running MATLAB jobs. Depending on compute intensity, Octave usually runs slower than MATLAB but it may be suitable for most data analysis work and you won't risk having jobs killed because of a lack of licenses.

To use Octave interactively, follow the instructions below to start an interactive job, then load the module.

module load octave

Run octave to start the command line interface, or run the following command to use the GUI.

octave --force-gui

Starting an interactive application

There are several ways to use the Geyser and Caldera systems interactively. Follow the appropriate example below after you log in to Yellowstone.

Use your X Window System to enable X11 forwarding as necessary.

Take care to customize the examples to meet your needs, with your own queue selection, wall-clock time, number of tasks, project code, and so on. Remember to free up the applicable license for other users by quitting the application when you are done.

Example 1: Submit an interactive job request to open an xterm window by following this example.

bsub -Is -q queue_name -W 1:00 -n 1 -P project_code xterm
  • When the job starts, load the appropriate module or modules for applications that you want to run in the xterm window—IDL or MATLAB, for example.
module load matlab
  • Execute the appropriate command to start the application.

Example 2: Load the module, then include the executable name when you submit your job. In this example, MATLAB will start when the interactive session starts.

module load matlab
bsub -Is -q queue_name -W 1:00 -n 1 -P project_code matlab

Example 3: In this example, Ncview will start and open a data file.

module load ncview
bsub -Is -q queue_name -W 1:00 -n 1 -P project_code ncview mydata.nc

Example 4: Access your default shell on the Geyser or Caldera cluster by submitting an interactive job request like this.

bsub -Is -q queue_name -W 1:00 -n 1 -P project_code $SHELL

To use a shell other than your default, specify the one you want, as shown here.

bsub -Is -q queue_name -W 1:00 -n 1 -P project_code /bin/bash

Using execgy and execca

The commands execgy and execca execute scripts that start interactive sessions on Geyser and Caldera respectively. They are simple alternatives to customizing the bsub examples above.

Invoking either command without an argument will start your interactive shell on the appropriate cluster and the CPU time will be charged to your default project code as shown here. (See Overriding defaults below if you want to use a different project code.)

username@yslogin6:~> execgy
Requesting 1 core(s) to geyser queue,
 to submit /bin/tcsh the usage is to be charged into UABC0001
 please wait..
Job <178000> is submitted to queue <geyser>.
<<Waiting for dispatch ...>>
<<Starting on geyser13-ib>>
username@geyser13:~> 

To end the session, just exit.

By invoking one of these commands with an argument, you can submit an interactive batch job to be executed or start an interactive application. The CPU time will be charged to your default project code as shown here. (See Overriding defaults below if you want to use a different project code.)

Load the appropriate module first.

username@yslogin6:~> module load matlab
username@yslogin6:~> execgy matlab
Requesting 1 core(s) to geyser queue,
 to submit matlab the usage is to be charged into UABC0001
 please wait..
Job <178052> is submitted to queue <geyser>.
<<Waiting for dispatch ...>>
<<Starting on geyser02-ib>>

To end the session, close the application.

Overriding defaults

To use a project code other than your default project code, set environment variable DAV_PROJECT before invoking execgy or execca. For example, DAV_PROJECT=UABC0001.

To request the use of more than one (1) core, set environment variable DAV_CORES to the desired number. For example, if you are planning to submit a compilation job with 8 threads (say, make -j 8), set DAV_CORES=8 to help the LSF batch scheduler better balance the anticipated load.

Help

Run execgy -help or execca -help for additional information.

Also see: Applications and analysis software