Opened 9 years ago

Last modified 7 years ago

#3418 new defect

Bad performance of Spice3BenchmarkFourBitBinaryAdder dominating MSL 3.2.1 tests — at Version 1

Reported by: Adrian Pop Owned by: Lennart Ochel
Priority: high Milestone: Future
Component: Backend Version: trunk
Keywords: Cc: Martin Sjölund, Rüdiger Franke, Niklas Worschech, Marcus Walther, Willi Braun

Description (last modified by Rüdiger Franke)

The one model Modelica.Electrical.Spice3.Examples.Spice3BenchmarkFourBitBinaryAdder dominates the time needed for testing MSL3.2.1 without producing good results.

The C runtime takes 6m40s to simulate that model. Afterwards the verification of 46/47 signals fails. Looking at the results, it appears possible that the C runtime doesn't appropriately adapt to the extreme short experiment(StopTime=1e-006, Interval=1e-009).

The C++ code generation takes 4m3s in the Templates phase (opposed to 20s for C code generation). C++ generates code for 171 algebraic loops (two code files for each of them). Many of the loops have a dimension of 1. See:

$ grep _dimAEq OMCpp*FourBit*Algloop*.cpp

Many of those are linear (checked Algloop 825, 920, 938, ...).

Shouldn't linear algebraic loops of dimension 1 be treated more efficiently?

Change History (1)

comment:1 by Rüdiger Franke, 9 years ago

Cc: Niklas Worschech Marcus Walther added
Description: modified (diff)
Summary: Handle static arrays with more than one dimension (matrices)Bad performance of Spice3BenchmarkFourBitBinaryAdder dominating MSL 3.2.1 tests
Note: See TracTickets for help on using tickets.