User Tools

Site Tools


cluster:96

Warning: Undefined array key 7 in /usr/share/dokuwiki/inc/html.php on line 1453

Warning: Undefined array key -1 in /usr/share/dokuwiki/inc/html.php on line 1458

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
cluster:96 [2011/02/09 14:53]
hmeij created
cluster:96 [2015/03/13 13:52] (current)
hmeij [Note]
Line 1: Line 1:
 \\ \\
 **[[cluster:0|Home]]** **[[cluster:0|Home]]**
 +
 +==== Note ====
 +
 +You can also run matlab jobs via scripts like other software.
 +
 +Create a file with the matlab commands and then create a shell script to submit the job.
 +
 +It would look like
 +
 +<code>
 +
 +#!/bin/bash
 +# submit via 'bsub < run.serial'
 +
 +#BSUB -q matlab
 +
 +#BSUB -J test
 +#BSUB -o test.stdout
 +#BSUB -e test.stderr
 +
 +
 +
 +matlab -no display < my_code.m > /dev/null
 +
 +</code>
 +
 +==== Matlab 2013a ====
 +
 +Is now the default matlab version, just change the paths in scripts below
 + --- //[[hmeij@wesleyan.edu|Meij, Henk]] 2013/03/14 14:57//
  
 ==== Matlab 2010b ==== ==== Matlab 2010b ====
Line 11: Line 41:
   * [[http://www.mathworks.com/help/toolbox/distcomp/bqxceii-1.html|Part2]]   * [[http://www.mathworks.com/help/toolbox/distcomp/bqxceii-1.html|Part2]]
  
-In the examples below the code waits for the results.  Don't do that when submitting jobs, it is just for debug purposes. Change the last 3 lines with this 'get(sched)' and then you exit Matlab interactive session.+=== Serial 1 === 
 + 
 +In the example belowthe code waits for the results.  Don't do that when submitting jobs, it is just for debugging purposes. 
 + 
 +This old way still works for distributed jobs:
  
-This old way still works: 
 <code> <code>
  
 % distributed matlab jobs % distributed matlab jobs
-% start 'matlab -nodisplay', issue the command 'newSimple'+% start 'matlab -nodisplay', issue the command 'Simple'
  
 % set up the scheduler and matlab worker environment % set up the scheduler and matlab worker environment
Line 23: Line 56:
 set(sched, 'HasSharedFilesystem', true); set(sched, 'HasSharedFilesystem', true);
 set(sched, 'ClusterMatlabRoot', '/share/apps/matlab/2010b') set(sched, 'ClusterMatlabRoot', '/share/apps/matlab/2010b')
-set(sched, 'SubmitFcn', @distributedSubmitFcn  +set(sched, 'SubmitFcn', @lsfSimpleSubmitFcn)
  
 % specify location for worker output % specify location for worker output
Line 34: Line 67:
 % submit job, wait for jobs to finish, fetch output % submit job, wait for jobs to finish, fetch output
 submit(j) submit(j)
 +
 % WARNING: this may hang if the workers are busy! % WARNING: this may hang if the workers are busy!
 waitForState(j) waitForState(j)
 results = getAllOutputArguments(j); results = getAllOutputArguments(j);
 results{1:5} results{1:5}
 +% better to do it like Simple2.m
 +
  
 </code> </code>
 +
 +=== Serial 2 ===
 +
 +After you submit the job, you can exit matlab.
 +
 +<code>
 +
 +% distributed matlab jobs
 +% start 'matlab -nodisplay', issue the command 'Simple2'
 +
 +% set up the scheduler and matlab worker environment
 +sched = findResource('scheduler', 'type', 'generic');
 +set(sched, 'HasSharedFilesystem', true);
 +set(sched, 'ClusterMatlabRoot', '/share/apps/matlab/2010b')
 +set(sched, 'SubmitFcn', @lsfSimpleSubmitFcn)
 +
 +% specify location for worker output
 +set(sched, 'DataLocation', '/home/hmeij/hp/matlab')
 +
 +% create job and assign tasks to be done
 +j = createJob(sched);
 +T = createTask(j, @rand, 1, {{3,3} {3,3} {3,3} {3,3} {3,3}});
 +
 +% submit job, then exit matlab interactive session
 +submit(j)
 +get(sched)
 +
 +</code>
 +
 +=== Parallel ===
 +
 +Slightly different syntax.  Adjust your number of workers values based on some benchmarking, not always do the most workers finish a job in the shortest amount of time.
 +
 +<code>
 +
 +% parallel matlab jobs
 +% start 'matlab -nodisplay', issue the command 'Simplep'
 +
 +% set up the scheduler and matlab worker environment
 +sched = findResource('scheduler', 'type', 'generic')
 +set(sched, 'HasSharedFilesystem', true);
 +set(sched, 'ClusterMatlabRoot', '/share/apps/matlab/2010b')
 +set(sched, 'ParallelSubmitFcn', @lsfParallelSubmitFcn)
 +
 +% specify location for worker output
 +set(sched, 'DataLocation', '/home/hmeij/hp/matlab')
 +pj = createParallelJob(sched);
 +set(pj, 'MaximumNumberOfWorkers', 8)
 +set(pj, 'MinimumNumberOfWorkers', 8)
 +T = createTask(pj, @rand, 1, {{300,300}});
 +
 +% submit job, wait to finish, get status jobs, gather results
 +submit(pj)
 +get(sched)
 +% you can now exit matlab
 +% at system prompt type 'bjobs'
 +
 +
 +</code>
 +
  
  
 \\ \\
 **[[cluster:0|Home]]** **[[cluster:0|Home]]**
cluster/96.1297281209.txt.gz · Last modified: 2011/02/09 14:53 by hmeij