next up previous
Next: 4.4 Assembling of the Up: 4.3.2 Optimizer Previous: 4.3.2.1 Analytical Model Optimizer

4.3.2.2 Numerical Model Optimizer

Once the analytical optimization is finished there are still variables inside the tree which can not be eliminated due to their unknown values they will get during a real simulation run. Some of these variables are of parameter type and will finally be initialized by the Input & Control Interface. Afterwards the optimization is called again minimizing the resulting tree to replace the parameter variables by their calculated values.

Because evaluation of a model using a tree would be rather expensive concerning evaluation time, the model tree is now enrolled to a function and parameter stack (Fig. 4.8) which results in a fully optimized model still supporting a one-pass concept. All loops are enrolled and all interim results are reused if possible. Nevertheless, there is still an overhead because of the one pass concept due to the needed interpreter to evaluate the function stack. To get rid of this last performance loss a C-code extraction algorithm is implemented where the enrolled stack is transformed into C-source code with the disadvantageous necessity of recompiling the code (two-pass concept).

Figure 4.8: C-code extraction for optimization purposes
\resizebox{15cm}{!}{\includegraphics{/iue/a39/users/radi/diss/fig/amigos/opt.eps}}


next up previous
Next: 4.4 Assembling of the Up: 4.3.2 Optimizer Previous: 4.3.2.1 Analytical Model Optimizer
Mustafa Radi
1998-12-11