HPC/Applications/matlab: Difference between revisions

From CNM Wiki
Jump to navigation Jump to search
 
(54 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Recommendation ==
== Licensing ==
Use [http://www.gnu.org/software/octave/ '''GNU Octave'''] instead of MATLAB.
[http://www.mathworks.com/ MATLAB] is available on Carbon on request, and is subject to strictly limited license terms.
octave
<!--
 
In fact, most of the information conveyed here concerns licensing, a thoroughly unloved necessity of high-profile commercial software.
== Introduction ==
-->
[http://www.mathworks.com/ MATLAB] on Carbon is available but subject to extremely limiting license terms.
Running MATLAB is restricted to:
 
=== Licensing ===
Most of the information conveyed here concerns licensing, a thoroughly unloved necessity of high-profile commercial software. Running MATLAB is restricted to:
* '''Argonne employees''' (including consultants and students),
* '''Argonne employees''' (including consultants and students),
* by '''one user at a time'''.
<!--
* on node '''clogin5 only''',
* on node '''clogin5 only''',
* by '''one user at a time''',
* '''not remotely''', except for a certain number of users per year.
* '''not remotely'''.
-->


=== Toolboxes ===
=== Toolboxes ===
We have the following toolboxes installed:
We have the following toolboxes installed:
* Curve_Fitting_Toolbox
* Curve Fitting Toolbox
* Image_Toolbox
* Image Processing Toolbox
* Optimization_Toolbox
* Optimization Toolbox
* Distrib_Computing_Toolbox
* Parallel Computing Toolbox
* Statistics_Toolbox
* Statistics Toolbox
 
<!--
=== Request access ===
To request access to MATLAB on Carbon, [mailto:[email protected]?subject=MATLAB%20on%20Carbon send an email].
-->
 
== Alternatives ==
Given licensing and availability limitations of MATLAB you may wish to consider using alternative solutions, especially for new projects.
 
=== Octave ===
If you have existing MATLAB code, try running in using [http://www.gnu.org/software/octave/ '''GNU Octave'''] instead of MATLAB for all but the most demanding or vendor-specific tasks:
* To start octave:
octave
* [http://www.gnu.org/software/octave/doc/interpreter/index.html GNU Octave Documentation]
* [http://en.wikibooks.org/wiki/MATLAB_Programming/Differences_between_Octave_and_MATLAB Differences between Octave and MATLAB] in the WikiBook ''MATLAB Programming'' (slightly out of date).
* [http://stackoverflow.com/questions/3534867/why-when-should-i-prefer-matlab-over-octave Why/when should I prefer MATLAB over Octave?] – Discussion at [http://stackoverflow.com/ stackoverflow.com].
 
=== Python or Perl ===
For more flexibility, use a general-purpose scripting language.
* Most users may want to look at [http://www.python.org/ Python] with [http://www.numpy.org/ NumPy], available as module "numpy" on Carbon. See also:
** [http://matplotlib.org/api/mlab_api.html Numerical python functions written for compatability with MATLAB]
** [http://www.scipy.org/NumPy_for_Matlab_Users NumPy for Matlab Users]
* Users who like a stonger Unix flavor should look at [http://www.perl.org/ Perl].
 
=== NLopt – Nonlinear optimization ===
For users wishing to solve nonlinear optimization problems, the [[HPC/Applications#nlopt | nlopt module]] is a fairly general-purpose optimization library with interfaces in C, C++ and Fortran.


== Running MATLAB ==
== Running MATLAB ==
Line 28: Line 53:
; Command line: For basic calculations, you could save some startup time by simply using the text interface.
; Command line: For basic calculations, you could save some startup time by simply using the text interface.
  matlab -nojvm
  matlab -nojvm
: Does not load the Java VM and toolboxes requiring any java.
or
matlab -nodisplay
: Suppresses X11.
== Documentation ==
Consult the vendor's documentation:
* http://www.mathworks.com/help/matlab/index.html
: '''Caution:''' This page presents the vendor's current release (R2014b at time of writing). To see documentation specific to the release installed on Carbon (R2013a), whose behavior could differ from the current release, see the tab "Other Releases". You will need an existing or new user-specific site login.
* http://www.mathworks.com/help/matlab/getting-started-with-matlab.html .
== Using the MATLAB compiler ==
The MATLAB compiler, available on Carbon, allows you to create standalone Linux binaries that ''do not need a MATLAB license token'' to run.
For documentation, see [[HPC/Applications/matlab/Compiler]].
== Parallel toolkit==
See [[HPC/Applications/matlab/Parallel]].


== Troubleshooting ==
== Troubleshooting ==
=== Access ===
=== Access ===
You must be a member of the "employees" group on Carbon to run MATLAB. If you are not, you could load the "matlab" module but it will not enable anything.
To run MATLAB on Carbon, you must be a member of the "employees" group. You could still load the "matlab" module if you are not, but it will not enable anything.
* To inspect your current group membership, run:
* To inspect your current group membership, run:
  groups
  groups
: The word "employees" must show. Since the group has been added only this week (Feb. 5, 2013), you may need to log out and back in to pick up the group membership.
: The word "employees" must show.


<!--
=== Running on a host that is not licensed ===
=== Running on a host that is not licensed ===
  License checkout failed.
  License checkout failed.
Line 41: Line 85:
  The hostid of your computer ("001122334455 001122334466") '''does not match the hostid''' of the license file (001122334400).
  The hostid of your computer ("001122334455 001122334466") '''does not match the hostid''' of the license file (001122334400).
'''Solution:''' log in to clogin5 and retry. If you use the Mega SSH gateway, review the updated instructions for [[HPC/Network Access/SSH Tunnel Setup on Linux and MacOS#Advanced: Connecting to a specific login node | Linux/Mac/Cygwin]] or [[HPC/Network Access/PuTTY Configuration | PuTTY on Windows]] on how to configure and use port forwarding to reach a specific login node.
'''Solution:''' log in to clogin5 and retry. If you use the Mega SSH gateway, review the updated instructions for [[HPC/Network Access/SSH Tunnel Setup on Linux and MacOS#Advanced: Connecting to a specific login node | Linux/Mac/Cygwin]] or [[HPC/Network Access/PuTTY Configuration | PuTTY on Windows]] on how to configure and use port forwarding to reach a specific login node.
-->


=== License in use ===
=== License in use ===
Line 49: Line 94:
  -'''A Designated Computer installation is in use by another user.'''
  -'''A Designated Computer installation is in use by another user.'''
  If no other user is currently running MATLAB, you may need to activate.
  If no other user is currently running MATLAB, you may need to activate.
'''Solution:''' Wait a half hour or so and retry. You can identify the user currently running matlab using the "ps aux | grep matlab" command. Be considerate in negotiating access with that user.
'''Solution:'''
* Wait a few minutes or hours.
* For urgent request, to locate and possibly terminate an existing session, [mailto:nstit@anl.gov?Subject=MATLAB%20on%20Carbon%20busy Send a support request.]

Latest revision as of 18:00, November 24, 2014

Licensing

MATLAB is available on Carbon on request, and is subject to strictly limited license terms. Running MATLAB is restricted to:

  • Argonne employees (including consultants and students),
  • by one user at a time.

Toolboxes

We have the following toolboxes installed:

  • Curve Fitting Toolbox
  • Image Processing Toolbox
  • Optimization Toolbox
  • Parallel Computing Toolbox
  • Statistics Toolbox


Alternatives

Given licensing and availability limitations of MATLAB you may wish to consider using alternative solutions, especially for new projects.

Octave

If you have existing MATLAB code, try running in using GNU Octave instead of MATLAB for all but the most demanding or vendor-specific tasks:

  • To start octave:
octave

Python or Perl

For more flexibility, use a general-purpose scripting language.

NLopt – Nonlinear optimization

For users wishing to solve nonlinear optimization problems, the nlopt module is a fairly general-purpose optimization library with interfaces in C, C++ and Fortran.

Running MATLAB

  • To get started, load the "matlab" module as described at HPC/Module Setup.
  • Then choose how to run the application:
GUI
matlab
Command line
For basic calculations, you could save some startup time by simply using the text interface.
matlab -nojvm
Does not load the Java VM and toolboxes requiring any java.

or

matlab -nodisplay
Suppresses X11.

Documentation

Consult the vendor's documentation:

Caution: This page presents the vendor's current release (R2014b at time of writing). To see documentation specific to the release installed on Carbon (R2013a), whose behavior could differ from the current release, see the tab "Other Releases". You will need an existing or new user-specific site login.

Using the MATLAB compiler

The MATLAB compiler, available on Carbon, allows you to create standalone Linux binaries that do not need a MATLAB license token to run.

For documentation, see HPC/Applications/matlab/Compiler.

Parallel toolkit

See HPC/Applications/matlab/Parallel.

Troubleshooting

Access

To run MATLAB on Carbon, you must be a member of the "employees" group. You could still load the "matlab" module if you are not, but it will not enable anything.

  • To inspect your current group membership, run:
groups
The word "employees" must show.


License in use

License checkout failed.
License Manager Error -9
This error may occur when:
-The hostid of this computer does not match the hostid in the license file.
-A Designated Computer installation is in use by another user.
If no other user is currently running MATLAB, you may need to activate.

Solution:

  • Wait a few minutes or hours.
  • For urgent request, to locate and possibly terminate an existing session, Send a support request.