MATLAB

From FarmShare

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
=first steps=
=first steps=
 +
Per [[FarmShare software]] try something like:
Per [[FarmShare software]] try something like:
 +
<source lang="sh">
<source lang="sh">
module avail
module avail
Line 206: Line 208:
# startup
# startup
-
----
+
<source lang="m">
 +
bishopj@barley-storage01:~$ matlab -nodesktop
 +
Warning: No display specified.  You will not be able to display graphics on the screen.
 +
Warning: No window system found.  Java option 'MWT' ignored.
 +
 
 +
                                                < M A T L A B (R) >
 +
                                      Copyright 1984-2013 The MathWorks, Inc.
 +
                                        R2013a (8.1.0.604) 64-bit (glnxa64)
 +
                                                February 15, 2013
 +
 
 +
No window system found.  Java option 'MWT' ignored.
 +
 +
To get started, type one of these: helpwin, helpdesk, or demo.
 +
For product information, visit www.mathworks.com.
 +
 +
>> cd /farmshare/software/non-free/MATLAB-R2013a/tomlab
 +
>> startup
 +
The TOMLAB v7.9 directory is /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab
 +
Found the base path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/base
 +
Found the cgo path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/cgo
 +
Found the testprob path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/testprob
 +
Found the examples path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/examples
 +
Found the optim path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/optim
 +
 +
Warning - optimization toolbox drop-in replacements
 +
Remove tomlab\optim from path to disable
 +
 +
Found the mex path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/mex
 +
Found the splines path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/splines
 +
Found the quickguide path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/quickguide
 +
Found the MAD path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/mad
 +
Found the lib path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/lib
 +
Found the usersguide path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/usersguide
 +
Found the ampl path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/ampl
 +
Found the common path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/common
 +
Found the finance path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/finance
 +
Found the modellib path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/modellib
 +
MAD successfully installed
 +
Found the PROPT path as /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/propt
 +
Found the TOMSYM path as /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/tomsym
 +
Found the modellib path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/modellib
 +
 +
Run tomlablic to display license information
 +
Done with setting TOMLAB paths
 +
>> cd quickguide
 +
>> nllsQG 
 +
===== * * * =================================================================== * * *
 +
TOMLAB - Stanford University Ac. department  602044. Valid to 2100-01-01
 +
=====================================================================================
 +
Problem: ---  1: Gisela                        f_k    103.648860373704110316
 +
                                              f(x_0)    103.652176276833472457
 +
 
 +
Solver: clsSolve.  EXIT=0.  INFORM=1.
 +
Fletcher-Xu Hybrid Method. Modified Gauss-Newton - BFGS
 +
Optimal solution found   
 +
Iteration points are close
 +
 
 +
ResEv  126 JacEv  118 Iter  11
 +
CPU time: 0.480000 sec. Elapsed time: 0.932415 sec.
 +
>>
 +
 
 +
</source>
 +
 
Search the farmshare-discuss archives for posts about&nbsp;[https://mailman.stanford.edu/mailman/swish?query=Matlab&submit=Search+farmshare-discuss+%21&listname=farmshare-discuss&metaname=swishdefault&sort=unixdate Matlab].
Search the farmshare-discuss archives for posts about&nbsp;[https://mailman.stanford.edu/mailman/swish?query=Matlab&submit=Search+farmshare-discuss+%21&listname=farmshare-discuss&metaname=swishdefault&sort=unixdate Matlab].

Revision as of 18:40, 27 November 2013

Contents

first steps

Per FarmShare software try something like:

module avail
module load matlab

If you're running MATLAB for the first time, it'll try to write some stuff into $HOME/.matlab so make sure you have your AFS tokens or else MATLAB will crash with an undecipherable error message.

As of 9/22/2013 this works on the corn.stanford.edu cluster but NOT on the myth.stanford.edu cluster.

interactive MATLAB

This is the "regular" way to use it, it pops up a GUI.

ssh -X corn.stanford.edu
module load matlab
matlab

If your X11 forwarding is configured correctly, it will pop up the MATLAB gui on your display.

If you don't have X11 forwarding enabled, you'll get an error message like this:

 Warning: No display specified.  You will not be able to display graphics on the screen.

and then you get the cli interface.

If you want the cli interface, just use 'matlab -nodesktop'.

If you want a single-threaded matlab, use something like

 matlab -nosplash -nodesktop -nodisplay -singleCompThread

example single matlab file run via qsub

Here's our helloworld.m:

disp('Hello World');

Here's a command to run that non-interactively:

 matlab -nodesktop < helloworld.m

We want to run this same command via the job scheduling system. Let's write a job script (save this as matlab_example.script)

#!/bin/bash

#$ -N matlab_example
#$ -m bes
#$ -M chekh@stanford.edu
#$ -V

module load matlab
matlab -nodesktop < /farmshare/software/examples/matlab/helloworld.m

Submit the script:

 qsub matlab_example.script

Look at the job status:

 qstat

You should get output file like matlab_example.oXXXXX

Warning: No display specified.  You will not be able to display graphics on the screen.
Warning: No window system found.  Java option 'MWT' ignored

                            < M A T L A B (R) >
                  Copyright 1984-2011 The MathWorks, Inc.
                    R2011b (7.13.0.564) 64-bit (glnxa64)
                              August 13, 2011

 
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
 
> > Hello World

example second matlab file run via qsub

Now we want to make sure we avoid AFS.

Here's our helloworld.m:

disp('Hello World');

Here's a command to run that non-interactively:

 matlab -nodesktop < helloworld.m

We want to run this same command via the job scheduling system. Let's write a job script.

#!/bin/bash

#$ -N matlab_example
#$ -m bes
#$ -M chekh@stanford.edu

module load matlab
matlab -nodesktop < /farmshare/software/examples/matlab/helloworld.m

Submit the script:

 cd /farmshare/user_data/$USER
 qsub -cwd matlab_example.script

Look at the job status:

 qstat

You should get output file like matlab_example.oXXXXX in your current directory

Warning: No display specified.  You will not be able to display graphics on the screen.
Warning: No window system found.  Java option 'MWT' ignored

                            < M A T L A B (R) >
                  Copyright 1984-2011 The MathWorks, Inc.
                    R2011b (7.13.0.564) 64-bit (glnxa64)
                              August 13, 2011

 
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
 
>> Hello World

PCT

We have the Parallel Computing Toolbox, you can use that to parallelize your job across multiple cores in a single machine.

Here's how to write a job using MDCS: http://docs.uabgrid.uab.edu/wiki/MatLab_CLI#Parallel_MATLAB

You can use the "maxNumCompThreads" command (deprecated) to see how many parallel threads you can run. I get "24" on barley, or "8" on corn.

simple PCT run

matlab -nodesktop -r 'maxNumCompThreads'

>> matlabpool ( 'open', 'local', 8)
Starting matlabpool using the 'local' configuration ... connected to 8 labs.
>> 
>> matlabpool size

ans =

     8

Then use 'parfor' instead of 'for'.

matlabpool of size 0 and size 1 are effectively the same, except the latter uses a PCT toolbox license.

Here are some training slides and example code that I copied from http://www.osc.edu/~samsi/sc11edu/


matlab with matlabpools on the barley

#!/bin/bash

#$ -N matlabfft
#$ -S /bin/bash
#$ -pe shm 4
#$ -l mem_free=500M
#$ -cwd

hostname

echo ""
echo ""
echo ""

module load matlab

matlab -nodesktop <<EOF
cluster = parcluster('local')
tmpdirforpool = tempname
mkdir(tmpdirforpool)
cluster.JobStorageLocation = tmpdirforpool

msg = sprintf('setting matlabpool to %s', getenv('NSLOTS'))
cluster.NumWorkers = str2num(getenv('NSLOTS'))

matlabpool(cluster)

cluster

a = ones(1000,1000)

disp('begin running parfor')
parfor i = 1:10000
  b=ones./a
end

disp('done running parfor')

matlabpool close
EOF


tomlab

We have a TOMLAB license. To start it up:

  1. launch matlab r2013a
  2. cd to /farmshare/software/non-free/MATLAB-R2013a/tomlab
  3. startup

bishopj@barley-storage01:~$ matlab -nodesktop
Warning: No display specified.  You will not be able to display graphics on the screen.
Warning: No window system found.  Java option 'MWT' ignored.

                                                < M A T L A B (R) >
                                      Copyright 1984-2013 The MathWorks, Inc.
                                        R2013a (8.1.0.604) 64-bit (glnxa64)
                                                 February 15, 2013

No window system found.  Java option 'MWT' ignored.
 
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
 
>> cd /farmshare/software/non-free/MATLAB-R2013a/tomlab
>> startup
The TOMLAB v7.9 directory is /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab
Found the base path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/base
Found the cgo path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/cgo
Found the testprob path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/testprob
Found the examples path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/examples
Found the optim path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/optim
 
Warning - optimization toolbox drop-in replacements
Remove tomlab\optim from path to disable
 
Found the mex path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/mex
Found the splines path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/splines
Found the quickguide path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/quickguide
Found the MAD path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/mad
Found the lib path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/lib
Found the usersguide path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/usersguide
Found the ampl path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/ampl
Found the common path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/common
Found the finance path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/finance
Found the modellib path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/modellib
MAD successfully installed
Found the PROPT path as /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/propt
Found the TOMSYM path as /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/tomsym
Found the modellib path as  /srv/zfs01/software/non-free/MATLAB-R2013a/tomlab/modellib
 
Run tomlablic to display license information
Done with setting TOMLAB paths
>> cd quickguide
>> nllsQG  
===== * * * =================================================================== * * *
TOMLAB - Stanford University Ac. department  602044. Valid to 2100-01-01
=====================================================================================
Problem: ---  1: Gisela                         f_k     103.648860373704110316
                                              f(x_0)    103.652176276833472457

Solver: clsSolve.  EXIT=0.  INFORM=1.
Fletcher-Xu Hybrid Method. Modified Gauss-Newton - BFGS
Optimal solution found    
Iteration points are close

ResEv   126 JacEv   118 Iter   11 
CPU time: 0.480000 sec. Elapsed time: 0.932415 sec. 
>>


Search the farmshare-discuss archives for posts about Matlab.

Personal tools
Toolbox
LANGUAGES