How are Extrinsic Functions Handled When Executing Parallel Simulations with parsim() ?
1 次查看(过去 30 天)
显示 更早的评论
Suppose a Simulink simulation that contains a Matlab Function block that calls another function declared as extrinsic with @doc:coder.extrinsic.
If multiple simulations are executed in parallel with @doc:parsim, a) does each worker get its own instance of the Matlab engine in which the extrinsic function is executed? Or b) do all of the workers share a common Matlab engine and share the extrinsic function? Seems like the latter could be problematic if the extrinsic function contains persistent data.
As best I can tell, @doc:parfor operates in accordance with (a), but I couldn't find anything on point in the doc for @doc:parsim.
回答(1 个)
Supraja
2025-8-1
Hello Paul,
Please find the information regarding parsim and extrinsic functions:
- parsim distributes simulations to workers in a parallel pool.
- Each worker is an independent MATLAB process with its own workspace and memory.
- The coder.extrinsic function is executed by the MATLAB engine.
- Therefore, since each worker is a separate MATLAB process, each worker uses its own instance of the MATLAB engine to execute the extrinsic function.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 String 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!