Differences between revisions 17 and 18
Revision 17 as of 2012-10-02 14:46:51
Size: 4639
Editor: bifelix
Comment:
Revision 18 as of 2012-10-02 14:55:47
Size: 4896
Editor: bifelix
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
See the Matlab-Documentation in Matlab: Help - Product Help - Getting Started Matlab has a lot of tutorials by its own. You can find them here: Help - Product Help - User Guides
Line 15: Line 15:
== Matlab Compiler == = Matlab Compiler =
Line 17: Line 17:
 * More info: See the Matlab-Documentation in Matlab: Help - Product Help - Matlab Compiler  * The advantage of a compiled is, that no matlab license is used.
Line 55: Line 55:
  * To run the magicsquare programm we give the shell-script 2 arguments. The first is the path to the Matlab Compiler Runtime. The second is for the programm magicsquare itself.   * To run the magicsquare programm we give the shell-script 2 arguments. The first is the path to the Matlab Compiler Runtime. The second is for the programm magicsquare itself.
Line 57: Line 57:
{{{  {{{
Line 72: Line 72:
}}}  }}}
Line 74: Line 74:
 * Help on mcc: mcc -help or see Documentation in Matlab.
 * Help on deploytool
 * More help on mcc: Enter on commandline: mcc -help
 * Or see the Matlab-Documentation in Matlab: Help - Product Help - Matlab Compiler

= Matlab on the cluster =
 * Every Matlab-Job on the Cluster uses one license. Therefore its very important, to run only compiled Matlab-Applications on the cluster.
Line 89: Line 92:
== Matlab on the cluster ==
 * Every Matlab-Job on the Cluster uses one license. Therefore its very important, to run only compiled Matlab-Applications on the cluster.
Line 95: Line 95:
== How do I know how many MATLAB licences are used by whom? ==
 * You can list all checked-out MATLAB licences with the following commands.
 * Linux: lmutil lmstat -c 1965@lic-matlab.ethz.ch -a | less

Page is under construction

Matlab

Matlab is a high-level language and interactive environment for numerical computation, visualization, and programming.

Start Matlab

  • Start it on Linux: Applications - Accessories - Terminal. Then type: Matlab (Enter)
  • Start it on Windows: Start - Matlab - Matlab

First Steps

Matlab has a lot of tutorials by its own. You can find them here: Help - Product Help - User Guides

Matlab Compiler

  • mcc (both: UNIX and Windows) is the MATLAB Compiler. You can use the mcc command either from the MATLAB command prompt (MATLAB mode) or the command-line (standalone mode).
  • The advantage of a compiled is, that no matlab license is used.

How to use Matlab Compiler on Linux

  • This chapter describes how to use MATLAB Compiler to code and build standalone applications.
  • Standalone Applications executables don't need any Matlab Licences.

Magic Square Example

  • A magic square is an array of integers arranged so that their sum is the same when added vertically, horizontally, or diagonally.
  • Copy the following code in a text-file and save it as magicsquare.m
    function m = magicsquare(n)
    %MAGICSQUARE generates a magic square matrix of the size
    % specified by the input parameter n.
    % Copyright 2003-2011 The MathWorks, Inc.
    
    if ischar(n)
        n=str2num(n);
    end
    m = magic(n);
    m

Important: When this programm is runned in a Linux-Terminal, we have to use the function str2num (string to number). Arguments are used as strings, thats why it has to be converted in a number.

  • Start a Terminal (Applications - Accessoires - Terminal) and change to the directory where you stored magicsquare.m
  • Compile the magicsqure function (with the command: mcc):
    mcc -mv magicsquare.m
  • This generates you 2 files: magicsquare and magicsquare.sh
    • magicsquare is the main file of the application.
    • magicsquare.sh is the script to start the application. It sets up the MCR (MATLAB Compiler Runtime) environment for the current $ARCH and executes the specified command.
    • To run the magicsquare programm we give the shell-script 2 arguments. The first is the path to the Matlab Compiler Runtime. The second is for the programm magicsquare itself.
     ./run_magicsquare.sh /usr/pack/matlab-7.13r2011b-sd 5
    ------------------------------------------
    Setting up environment variables
    ---
    LD_LIBRARY_PATH is .:/usr/pack/matlab-7.13r2011b-sd/runtime/glnxa64:/usr/pack/matlab-7.13r2011b-sd/bin/glnxa64:/usr/pack/matlab-7.13r2011b-sd/sys/os/glnxa64:/usr/pack/matlab-7.13r2011b-sd/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:/usr/pack/matlab-7.13r2011b-sd/sys/java/jre/glnxa64/jre/lib/amd64/server:/usr/pack/matlab-7.13r2011b-sd/sys/java/jre/glnxa64/jre/lib/amd64/client:/usr/pack/matlab-7.13r2011b-sd/sys/java/jre/glnxa64/jre/lib/amd64
    
    m =
    
        17    24     1     8    15
        23     5     7    14    16
         4     6    13    20    22
        10    12    19    21     3
        11    18    25     2     9
  • More help on mcc: Enter on commandline: mcc -help
  • Or see the Matlab-Documentation in Matlab: Help - Product Help - Matlab Compiler

Matlab on the cluster

  • Every Matlab-Job on the Cluster uses one license. Therefore its very important, to run only compiled Matlab-Applications on the cluster.

Limited amount of licenses

The number of MATLAB licences is limited. To ensure a fair and efficient usage of the licences throughout the ETH the following measures have been put in place:

  • licences will be returned if not used for 4 hours
  • excessive usage of licences will be monitored and users will be asked to return licences if needed

What can you do?

  1. Compile your MATLAB program. The best approach to avoid excessive usage of MATLAB licences is to compile your MATLAB program. The resulting executable does not need ANY MATLAB licence! This frees you from all MATLAB licence restrictions and also allows you to provide your executable to users without a MATLAB installation.
  2. Exit MATLAB when finished. Only then will all used licences be given back.
  3. Register the need for many MATLAB licences due to a MATLAB course By registering your need in advance, we can take countermeasures and ensure that these licences are available.
  4. Buy your own MATLAB licences if you must have a guaranteed 24/7 service or if you need to use an excessive amount of licences.

How do I know which MATLAB licences I use?

  • The MATLAB command "license('inuse')" lists the licences checked out for the current MATLAB session.

How do I know how many MATLAB licences are used by whom?

  • You can list all checked-out MATLAB licences with the following commands.
  • Linux: lmutil lmstat -c 1965@lic-matlab.ethz.ch -a | less

Programming/Matlab (last edited 2023-12-18 07:51:43 by stroth)