MATLAB Answers

1

How to compile a deployable program with the Parallel Computing Toolbox included?

Asked by Chris Endemann on 10 Jun 2016
Latest activity Answered by Harsheel
on 14 Jun 2016
Greetings,
I have found various links regarding this topic, but none seem to include the exact info that I am looking for, and are too outdated to post a follow-up. What I am trying to do is utilize a parfor loop within my compiled deployable code that gets sent to a cluster of linux servers for high throughput computing. My first question is how to go about compiling/installing the toolbox with my deployable code. I tried adding -a distcomp to the end of my mcc command (following this example: http://www.mathworks.com/matlabcentral/newsreader/view_thread/285133) but encountered compilation errors. Is this the right way to do it? I am thinking that I can just use parpool(feature('numcores')) once I get the toolbox included properly so that I can run a parfor loop based on whatever number of cores each comp has. Would that work? I've stumbled into articles talking about having to change the config file, but I honestly have no idea what that is talking about. Could someone point me in the right direction?

  0 Comments

Sign in to comment.

1 Answer

Answer by Harsheel
on 14 Jun 2016
 Accepted Answer

For your use-case, you don't need to use the -a flag. MATLAB Compiler command mcc or the deploytool GUI will automatically figure out what dependencies from the Parallel Computing toolbox and/or other toolboxes need to be put in the executable. So if your file name is foo.m (that uses parfor) I'd simply execute:
>> mcc -mv foo.m

  0 Comments

Sign in to comment.