Commit 4e301e73 authored by Jan Siwiec's avatar Jan Siwiec

Update octave.md

parent 35fd1141
Pipeline #11143 passed with stages
in 23 minutes and 13 seconds
......@@ -2,9 +2,9 @@
## Introduction
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. Read more [her][a].
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. Read more [here][a].
For looking for avaible modules, type:
For a list of available modules, type:
```console
$ ml av octave
......@@ -16,15 +16,15 @@ $ ml av octave
$ ml Octave
```
The octave on clusters is linked to highly optimized MKL mathematical library. This provides threaded parallelization to many octave kernels, notably the linear algebra subroutines. Octave runs these heavy calculation kernels without any penalty. By default, octave would parallelize to 16 (Anselm) or 24 (Salomon) threads. You may control the threads by setting the OMP_NUM_THREADS environment variable.
Octave on clusters is linked to a highly optimized MKL mathematical library. This provides threaded parallelization to many Octave kernels, notably the linear algebra subroutines. Octave runs these heavy calculation kernels without any penalty. By default, Octave would parallelize to 16 (Anselm) or 24 (Salomon) threads. You may control the threads by setting the OMP_NUM_THREADS environment variable.
To run octave interactively, log in with ssh -X parameter for X11 forwarding. Run octave:
To run Octave interactively, log in with the ssh -X parameter for X11 forwarding. Run Octave:
```console
$ octave
```
To run octave in batch mode, write an octave script, then write a bash jobscript and execute via the qsub command. By default, octave will use 16 (Anselm) or 24 (Salomon) threads when running MKL kernels.
To run Octave in batch mode, write an Octave script, then write a bash jobscript and execute via the qsub command. By default, Octave will use 16 (Anselm) or 24 (Salomon) threads when running MKL kernels.
```bash
#!/bin/bash
......@@ -48,15 +48,15 @@ cp output.out $PBS_O_WORKDIR/.
exit
```
This script may be submitted directly to the PBS workload manager via the qsub command. The inputs are in octcode.m file, outputs in output.out file. See the single node jobscript example in the [Job execution section][1].
This script may be submitted directly to the PBS workload manager via the qsub command. The inputs are in the octcode.m file, outputs in the output.out file. See the single node jobscript example in the [Job execution section][1].
The octave c compiler mkoctfile calls the GNU gcc 4.8.1 for compiling native c code. This is very useful for running native c subroutines in octave environment.
The Octave c compiler mkoctfile calls the GNU gcc 4.8.1 for compiling native c code. This is very useful for running native c subroutines in Octave environment.
```console
$ mkoctfile -v
```
Octave may use MPI for interprocess communication This functionality is currently not supported on Anselm cluster. In case you require the octave interface to MPI, contact [Anselm support][b].
Octave may use MPI for interprocess communication This functionality is currently not supported on the Anselm cluster. In case you require the Octave interface to MPI, contact [Anselm support][b].
## Xeon Phi Support
......@@ -93,11 +93,10 @@ A version of [native][2] Octave is compiled for Xeon Phi accelerators. Some limi
* Only command line support. GUI, graph plotting etc. is not supported.
* Command history in interactive mode is not supported.
Octave is linked with parallel Intel MKL, so it best suited for batch processing of tasks that utilize BLAS, LAPACK and FFT operations. By default, number of threads is set to 120, you can control this with > OMP_NUM_THREADS environment
variable.
Octave is linked with parallel Intel MKL, so it is best suited for batch processing of tasks that utilize BLAS, LAPACK, and FFT operations. By default, the number of threads is set to 120, you can control this with the OMP_NUM_THREADS environment variable.
!!! note
Calculations that do not employ parallelism (either by using parallel MKL e.g. via matrix operations, fork() function, [parallel package][c] or other mechanism) will actually run slower than on host CPU.
Calculations that do not employ parallelism (either by using parallel MKL e.g. via matrix operations, fork() function, [parallel package][c], or other mechanism) will actually run slower than on host CPU.
To use Octave on a node with Xeon Phi:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment