Opened 12 years ago

Closed 10 years ago

#2040 closed enhancement (fixed)

Simcode scales badly for large linear systems

Reported by: Christian Schubert Owned by: Willi Braun
Priority: normal Milestone: 1.9.1
Component: Backend Version: trunk
Keywords: Cc:

Description

Hi,

the time taken in Simcode scales at least quadratic with the size of the linear systems inside.
Maybe, someone can take a look at that.

I used my Pendulum_N model with Tearing deactivated, which you find attached.

Here are some numbers:
bodies time taken/s
10 1.18552
20 3.3209
30 6.8185
40 11.5792
50 16.9876
60 23.6133
70 31.6687
80 42.3227
90 52.981

At 90 bodies Simcode takes up more than 50% of the total translation time.

Attachments (1)

Pendulum_N.mo (2.1 KB ) - added by Christian Schubert 12 years ago.

Download all attachments as: .zip

Change History (4)

by Christian Schubert, 12 years ago

Attachment: Pendulum_N.mo added

comment:1 by Lennart Ochel, 11 years ago

Owner: changed from Jens Frenkel to Willi Braun
Status: newassigned

comment:2 by Martin Sjölund, 11 years ago

Milestone: 1.9.01.9.1

Postponed until 1.9.1

comment:3 by Willi Braun, 10 years ago

Resolution: fixed
Status: assignedclosed

Seems to be fixed in meantime, since for N=80:

omc NPendulum.mos +d=backenddaeinfo
true
""
true
""
record SimulationResult
    resultFile = "NPendulum_res.mat",
    simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'NPendulum', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''",
    messages = "",
    timeFrontend = 13.248213017,
    timeBackend = 11.742481002,
    timeSimCode = 4.24461807,
    timeTemplates = 7.091320538,
    timeCompile = 3.974631141,
    timeSimulation = 6.239920618,
    timeTotal = 46.541280557
end SimulationResult;
Note: See TracTickets for help on using tickets.