Opened 12 years ago

Closed 10 years ago

#2040 closed enhancement (fixed)

Simcode scales badly for large linear systems

Reported by: cschubert Owned by: wbraun
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 cschubert 12 years ago.

Download all attachments as: .zip

Change History (4)

Changed 12 years ago by cschubert

comment:1 Changed 11 years ago by lochel

  • Owner changed from jfrenkel to wbraun
  • Status changed from new to assigned

comment:2 Changed 11 years ago by sjoelund.se

  • Milestone changed from 1.9.0 to 1.9.1

Postponed until 1.9.1

comment:3 Changed 10 years ago by wbraun

  • Resolution set to fixed
  • Status changed from assigned to closed

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.