MATLAB
From FarmShare
Line 7: | Line 7: | ||
+ | =interactive MATLAB= | ||
+ | This is the "regular" way to use it, it pops up a GUI. | ||
+ | ssh -X corn | ||
+ | module load MATLAB-R2012b | ||
+ | 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: | ||
= example single matlab file run via qsub = | = example single matlab file run via qsub = |
Revision as of 11:09, 12 March 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.
interactive MATLAB
This is the "regular" way to use it, it pops up a GUI.
ssh -X corn module load MATLAB-R2012b 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:
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
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 #$ -V matlab -nodesktop < /mnt/glusterfs/chekh/helloworld.m
Submit the script:
cd /mnt/glusterfs/chekh 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/
Search the farmshare-discuss archives for posts about Matlab.