Menu

#200 Speedup the calculations

0.3.4
done
nobody
None
nobody
2021-12-26
2020-11-09
Ulf Lorenz
No
What and Why

During the refactoring in [#121], some performance penalty has been introduced due to the transition CTensor -> State. For ODE solvers, it has already turned out that there are substantial benefits in unwrapping states, and using the in-place operations for tensors whenever we add or multiply tensors.

The same optimizations have not been done for Chebychev propagators and potentially other places. The effect is a slowdown up to 15% for small systems (<100 points or so), but much less relevant for larger, 2D systems.

Possible places to apply the optimization:

  • Chebychev propagators
  • EquationSystem::apply()

Testing showed no effect for EquationSystem, so I kept the simpler current code.
Chebychev propagation got noticably faster (ca. 10% for the 2G Harmonic oscillator demo)

Related

Tickets: #121

Discussion

  • Ulf Lorenz

    Ulf Lorenz - 2021-08-08
    • Milestone: 0.4 goal --> 0.3.4
     
  • Ulf Lorenz

    Ulf Lorenz - 2021-12-25
    • status: open --> assigned
    • assigned_to: Ulf Lorenz
     
  • Ulf Lorenz

    Ulf Lorenz - 2021-12-26
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -8,3 +8,8 @@
    
     * Chebychev propagators
     * EquationSystem::apply()
    +
    +----
    +
    +Testing showed no effect for EquationSystem, so I kept the simpler current code.
    +Chebychev propagation got noticably faster (ca. 10% for the 2G Harmonic oscillator demo)
    
    • status: assigned --> done
    • assigned_to: Ulf Lorenz --> nobody
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.