MATLAB

From FarmShare

(Difference between revisions)
Jump to: navigation, search
(example single matlab file run via qsub)
Line 6: Line 6:
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.
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.
-
=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.
+
= example single matlab file run via qsub  =
-
 
+
-
== simple PCT run  ==
+
-
<pre>matlab -nodesktop -r 'maxNumCompThreads'
+
-
 
+
-
&gt;&gt; matlabpool ( 'open', 'local', 8)
+
-
Starting matlabpool using the 'local' configuration ... connected to 8 labs.
+
-
&gt;&gt;
+
-
&gt;&gt; matlabpool size
+
-
 
+
-
ans =
+
-
 
+
-
    8
+
-
 
+
-
Then use 'parfor' instead of 'for'.
+
-
</pre>
+
-
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/
+
-
 
+
-
*http://stanford.edu/~chekh/matlab.tar
+
-
 
+
-
== example single matlab file run via qsub  ==
+
Here's our helloworld.m:  
Here's our helloworld.m:  
Line 77: Line 52:
&gt;&gt; Hello World
&gt;&gt; Hello World
</pre>  
</pre>  
 +
 +
=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  ==
 +
<pre>matlab -nodesktop -r 'maxNumCompThreads'
 +
 +
&gt;&gt; matlabpool ( 'open', 'local', 8)
 +
Starting matlabpool using the 'local' configuration ... connected to 8 labs.
 +
&gt;&gt;
 +
&gt;&gt; matlabpool size
 +
 +
ans =
 +
 +
    8
 +
 +
Then use 'parfor' instead of 'for'.
 +
</pre>
 +
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/
 +
 +
*http://stanford.edu/~chekh/matlab.tar
 +
 +
----
----
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 14:20, 26 February 2013

Contents

first steps

Per FarmShare software try something like:

 module avail
 module load MATLAB-R2012b

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.


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.

#!/bin/bash

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

matlab -nodesktop < /mnt/glusterfs/chekh/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

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/



Search the farmshare-discuss archives for posts about Matlab.

Personal tools
Toolbox
LANGUAGES