Running large jobs in Matlab
Running large numbers of Matlab jobs is complicated, because each concurrent job ordinarily requires a separate licence, and only a limited number of licenses are available locally. To get around this, you can compile your Matlab job, as described below, and the compiled code will then not use up the licenses. Alternatively, you can try running your code under
Octave; most Matlab code that doesn't use toolboxes should run as-is. Or you can use other numerical packages, such as
R or
SciPy (for Python).
Using Matlab on ECDF
The ECDF machine eddie currently (10/2007) has a trial version of matlab, but a full version is planned to be installed.
- General information on how to submit a job can be found on: Matlab on EDDIE
- If you need to run a job that requires more than 2GB of memory, use @sgeMemSubmitFcn rather than @sgeSubmitFcn e.g memory_slots = '2'; set(sched, 'SubmitFcn', {@sgeMemSubmitFcn, time_limit, memory_slots});
- If you want to check whether your job finished with errors look under the directory where you store your log files. Find the job directory and load the out.mat file for a given task. This will load the errorstruct structure, which holds the relevant information. e.g. in matlab load $logdir/Job1/Task1.out.mat
- If you have many functions to run within a job, specify 'PathDependencies' rather than 'FileDependencies'. e.g. file_dep ={'dir1' 'dir2'}; createJob(sched,'PathDependencies',file_dep);
- UPDATE: Eddie is now accessible for NFS mount to DICE machines. Please contact dice support for access.
Using Matlab with Condor
Topic revision: r4 - 12 Nov 2007 - 14:27:26 - Main.s0234516