Opened 7 years ago

Last modified 7 years ago

#4384 new discussion

Memory management of pre values

Reported by: lochel Owned by: lochel
Priority: high Milestone: Future
Component: Run-time Version:
Keywords: c runtime Cc: vitalij, wbraun

Description

In the c runtime, do we really need a separate copy of pre values or could we just use the ring buffer for this instead?
That would reduce the amount of redundant data and avoid coping pre values after each simulation step.

Any comments?

Change History (6)

comment:1 Changed 7 years ago by lochel

  • Cc vitalij wbraun added

@vruge,wbraun What do you think?

comment:2 follow-up: Changed 7 years ago by vitalij

I don't like the idea, because we using the ring buffer for nonlinear systems and pre for other things. Mixing data structure make things mord complex. I don't want side effects/limits if I play with initial guess or something else in nonlinear solver, because it's would break pre-methods.

comment:3 in reply to: ↑ 2 Changed 7 years ago by lochel

Replying to vitalij:

I don't like the idea, because we using the ring buffer for nonlinear systems and pre for other things.

So what do we store in the ring buffer for nonlinear systems? Aren't them the pre values, besides even older data?

comment:4 Changed 7 years ago by lochel

@wbraun What do you think?

comment:5 Changed 7 years ago by wbraun

Well, the ringbuffer was originally introduced to avoid coping values for the extrapolation which is used for the non-linear loops. The pre-values are related to the event handling, so this are two different things, so you do not want to use pre-values for the extrapolation and also there is no advantage to use ringbuffer for the pre-values.

But actually we could get rid of the ringbuffer at all , since nowadays it's not really used for extrapolation anymore, it is now done inside of the non-linear loops.

comment:6 Changed 7 years ago by lochel

I would like to remove all redundant data (if possible) to simplify the runtime. If the ring buffer is obsolete, then it should be removed.

Note: See TracTickets for help on using tickets.