I have a model that requires concurrent execution (multiple processors) to run effectively. This means that the top-level model consists of several sub-blocks that are all model references (each referenced block can be assigned to a processor).
I am experiencing strange behavior during the build process. For one of these referenced models, I can compile it on its own and compilation will take < 3 minutes. However, if I build the top-level model, it always recompiles the referenced model, and this compilation can take upwards of 20 minutes.
I find it strange that the compilation on the referenced model (the sub-block) is being triggered even though I haven't modified the block at all. E.g. if the sub-block is 'B' and the top-level model is 'A', then I do
rtwbuild('B') rtwbuild('A')
The first build of B goes quickly. Even though the build of A is happening immediately afterwards, a recompile of B is triggered, and this process takes ~20 minutes. I see no reason why any of the model's dependencies should be modified in between the two commands...?
When the build of A gets to model B, the message I get is
### Checking the status of model reference RTW target for model 'B' used in 'A' ### Model reference RTW target (B.c) for model B is out of date because B.c does not exist.
Any thoughts on why this might be happening?
Best, Chethan