Issue to remove generated mex file after Simulink Model execution in parfor

3 次查看(过去 30 天)
I want to run a Simulink model inside a parfor loop.
Since the model involves code generation, each parallel iteration runs in a different temporary directory, as suggested in the related documentation. This is to avoid data concurrency issues.
In particular, after the execution of the model using the sim command, one wants to remove the temporary directory with its content, in order to avoid accumulating useless temp data.
However, when running rmdir(tmpdir,'s') I get the error
"C:\path\myModel_sfun.mexw64 could not be removed".
I tried adding the commands
munlock myModel_sfun.mexw64
fclose('all')
close_system(mymodel,0)
But this doesn't help. Any help? Thanks Luca

采纳的回答

Friedrich
Friedrich 2013-7-19
Hi,
try a
clear mex
before removing the directory.
  1 个评论
Luca Barbiero
Luca Barbiero 2013-7-19
Thanks Friedrich, it works. Only,the keyword clear is underlined in red in the editor, and the reason is
"The function CLEAR might make an invalid workspace access inside PARFOR loop".
But apparently in this case it's ok. Luca

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simulink Coder 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by