Octave
GNU Octave is a popular interactive data analysis language. It has been specifically designed to be an open-source alternative to MATLAB. As such, most MATLAB code can be successfully run using Octave. It is very fast to write code in, but the software that results is much much slower than C or Fortran; one should be wary of doing too much compute-intensive work in Octave.
Running Octave on Niagara
The available Octave modules can be found using the usual module commands. As of 6 December July 2018 the following Octave module is available:
$ module spider octave ---------------------------------------------------------------------------- octave: octave/4.4.0 ----------------------------------------------------------------------------
The octave module depends upon the gcc and mkl modules. You load the module in the usual way:
$ module load gcc/7.3.0 mkl/2018.2 $ module load octave/4.4.0 $ octave octave:1>
Running serial Octave jobs
As with all serial jobs, if your Octave computation does not use multiple cores, you should bundle them up so the 40 cores of a node are all performing work. Examples of this can be found on this page.
Changing the Octave history file
By default, Octave will save its history file in ~/.octave_hist. This is in your home directory, which cannot be written to from compute nodes. To change the location of the history file to your scratch directory, put the line
export OCTAVE_HISTFILE=${SCRATCH}/.octave_hist
in your .bashrc file.