Multi-Threading

23 views (last 30 days)
Andrea
Andrea on 11 May 2012
Commented: Steven Lord on 21 Dec 2022
hello. I would like to implement multi-threading in matlab. There is any easy way to do so? For example, I have 4 processors and want to run an independent MCMC on each of them. I just need how can I tell matlab torun the 4 chains in parallel, one on each processor. Usually, I achieve this using the task manager: I open 4 matlab, and assing to each 1 processor, however i was wondering if there is a way to write a batch file that automatically tells matlab to do so. Thanks Andrea

Answers (1)

Jason Ross
Jason Ross on 11 May 2012
Have you looked at the Parallel Computing Toolbox?
There is a command in the toolbox called "batch" that can farm the work out.
There are also other constructs (parfor, job/task, spmd) that you can employ, as well.
NOTE: The syntax we are both using is a bit inexact. I believe what you are calling "multi-threading" is more "parallel processing" or "distributed processing". Threading is a different animal, to some extent -- and is already implemented for some things in MATLAB.
  4 Comments
Kurt
Kurt on 21 Dec 2022
Moved: Steven Lord on 21 Dec 2022
The example link just leads to "Call Matlab from C", which is really no help.
Steven Lord
Steven Lord on 21 Dec 2022
I'm not sure which link you followed that led you to "Call MATLAB from C", as none of the ones in Jason's posts did.
But there is another approach that was introduced in release R2021b (I believe) that may be of interest to others with the same type of question as the original poster: running MATLAB functions in a thread-based environment.

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!