2
votes

I have the "standard" version of Matlab without any additional toolboxes installed.

Is it somehow possible to make use of multithreading (use all cores of a quad-core instead of only one) without installing the Parallel Computing Toolbox?

I guess it is not, but maybe someone figured out a workaround?

Thank you very much!

2
Apart from Daniel R's correct answer, the only other thing I can think of is to start multiple instances of Matlab in parallel. You'll have to organize the exchange of data between instances yourself though. - A. Donda

2 Answers

2
votes

There are several functions, that are implemented using multi-threading. If you use these functions, all cores will be used: http://www.mathworks.com/matlabcentral/answers/95958

2
votes

You can use threads/parallelism in C, C++ or Java, all of which can be called from Matlab (Java being probably the fastest/simplest way?).

A couple of observations: a) Matlab's parallel construct are quite heavyweight and will not give you a super-speedup. I personally prefer calling C/C++ code with OpenMP if I want fast-to-write parallelism.

b) Matlab's functions, in general, are not thread-safe, therefore calling them from multithreaded non-Matlab code is dangerous.

c) In image processing, some of the functions in Matlab are GPU-accelerated, therefore they are quite fast on their own.