GNU Octave

Description

From the GNU Octave home page: GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.

Version

  • 3.8.2

Authorized Users

  • CIRCE account holders
  • SC account holders

Platforms

  • CIRCE cluster
  • SC cluster

Modules

GNU Octave requires the following module file to run:

  • apps/octave/3.8.2

Running Octave on CIRCE/SC - Non-Interactive Jobs

The GNU Octave user guide is essential to understanding the application and making the most of it. The guide and this page should help you to get started with your simulations. Please refer to the Documentation section for a link to the guide.

  • Note on CIRCE: Make sure to run your jobs from your $WORK directory!
  • Note: Scripts are provided as examples only. Your SLURM executables, tools, and options may vary from the example below. For help on submitting jobs to the queue, see our SLURM User’s Guide.

There are two ways to run Octave on CIRCE depending on the runtime of your particular job: either through batch submission script, or interactively.

Running Octave jobs on CIRCE/SC - Serial Batch Jobs

If, for example, you have a Octave script file (named “octave.in”) with all your functions defined in it, you would set up a submit script like this:

#!/bin/bash
#
#SBATCH --comment=octave-test
#SBATCH --ntasks=1
#SBATCH --job-name=octave-test
#SBATCH --output=output.%j.octave-test
#SBATCH --time=00:10:00

#### SLURM 1 processor octave test to run for 10 minutes.

module load apps/octave/3.8.2
time octave --silent octave.in 

 
Next, you can change to your job’s directory, and run the sbatch command to submit the job:

[user@login0 ~]$ cd my/jobdir
[user@login0 jobdir]$ sbatch ./octave-test.sh
  • You can view the status of your job with the “squeue -u <username>” command

Running Octave jobs on CIRCE/SC - Parallel Batch Jobs

Parallel batch jobs can be submitted using the same script above, but making use of the various parallel functions inside of your Octave input file.

' For more information about GNU Octave Parallel functions, please refer to the following documentation page:

Running Octave on CIRCE/SC - Interactive Jobs

  • Please Note: All interactive Octave processing/simulation jobs should be run in an SRUN session, and NOT on the login nodes!

To run the Octave interactive console, the following steps must be taken, in addition to using another command sequence.

1. First, start an interactive SRUN session by running the command below with example resources:

[user@login0 ~]$ srun --time=02:00:00 --nodes=1 --ntasks-per-node=4 --pty /bin/bash
[user@wh-520-4-1 ~]$ 

 
2. You will now need to load the Octave module as described above and then start the Octave console:

[user@wh-520-4-1 ~]$ module add apps/octave/3.8.2
[user@wh-520-4-1 ~]$ octave

 

3. Once you are finished, you can simply type “exit” at the linux command prompt to exit the SRUN session.

Documentation

Home Page, User Guides, and Manuals

More Job Information

See the following for more detailed job submission information:

Reporting Bugs

Report bugs with GNU Octave to the IT Help Desk: rc-help@usf.edu