Is it possible to run multiple Simulink simulations, for example as many as there are cores in my computer, at the same time without having Parallel Computing Toolbox? I tried to do that by starting two MATLAB sessions and doing the same simulation from two different folders. Both simulations started well, but after a while the second simulation crashed. My colleague has notices similar stability problems by doing this.
MATLAB: Can I run multiple simulations on multiple cores without Parallel Computing Toolbox
coresmultipleparallelpctsimulationsimulink
Related Solutions
For MATLAB R2016b onward, the Parallel Computing Toolbox (PCT) provides the ability to run up to 512 local MATLAB “workers” on the same machine to perform computations. These workers can potentially leverage the additional computing power available in multi-core and multi-processor machines. Note that these worker processes are associated with the session of MATLAB from which they were invoked as well as the user who invoked these processes. As a result, the worker processes can not be accessed by multiple users.
As of MATLAB R2016b, PCT workers can be run in multithreaded mode so you can increase the number of computational threads without increasing the number of workers. This is seen in the following MATLAB release notes:
MATLAB itself has no limit on the number of computational threads. However, it is important to note that it is recommended to not have more computational threads from all MATLAB processes on a system than the number of physical cores.
Therefore, let's say you have 2 CPUs, 8 cores/CPU and so there are 16 physical cores. This setup can be used by any one of the following:
• A single MATLAB client with 16 computational threads
• 16 PCT local workers, each running single-threaded
• 8 PCT local workers, each running with 2 computational threads
• 4 PCT local workers, each running with 4 computational threads
For more information, refer to the following MATLAB documentation: <http://www.mathworks.com/help/distcomp/discover-clusters-and-use-cluster-profiles.html#f5-16540>
For MATLAB R2016a and earlier, local MATLAB workers can only run in single-threaded mode.
For MATLAB R2013b and earlier, the number of local workers is limited to twelve.
Alternatively, the MATLAB Distributed Computing Server can be used to start up a job manager and multiple workers on a multi-core or multi-CPU system. Even in the case of computing clusters that contain a mix of single CPU and multiple CPU machines, workers can be utilized on a per-core or per-CPU basis. Refer to the Related Solution for some guidelines to help you determine how many worker sessions to run on one computer.
When executing parallel jobs, workers communicate using MPI even if they are running on the same physical computer. However, you can choose to use a version of MPI that is optimized for Shared-Memory Processor systems.
Refer to the documentation for the mpiLibConf function (enter the following at the MATLAB command prompt)
web([docroot, '/toolbox/distcomp/mpilibconf.html'])
for information on using alternative versions of MPI instead of the build of MPICH2 that the MATLAB Distributed Computing Server uses by default.
Best Answer