What’s new in SOFA v23.12
Improvement on linear solvers
In the context of the “Matrix assembly API in SOFA” roadmap topic (see Roadmap page), many improvements on linear solvers are now available. These changes bring more parallelism in the solver codes as well as new optimizations. Here are the main related pull-requests:
- [LinearSolver] Implement parallel inverse product for all linear solvers #4255
- [LinearSystem] Introduce constant sparsity matrix assembly #4158
- [MultiThreading] Introduce parallel CG #4138
- [LinearSystem] Optim: Only account for affected DoFs #4001
- [LinearSolver.Direct] Parallelization of H A^-1 H^T in SparseLDLSolver #3986
- [LinearAlgebra] Speedup accumulation on BTDMatrix #4248
Integration of Tracy profiler
In #4182, the SOFA profiler is updated with features from the Tracy profiler. Among the coolest features, Tracy brings a Multithreaded timeline, statistics, see context switching and more which are to be tested!
New plugins to fetch
In order to bring more features with SOFA, to increase and ease the use of major plugins, two plugins have been added as fetchable plugins:
Use of GitHub actions
Automate, customize, and execute your software development workflows right in your repository with GitHub Actions. You can discover, create, and share …
Since #4079, the developer team started to use GitHub actions. These actions aim at automating tasks and executing workflow, thus empowering the team.
See all GH actions online.
Plugin: Visco-Elasticity
Read more about the plugin.
Plugin: Design Optimization
A framework for design optimization with emphasis on soft-robotics has recently been developed by the Defrost Inria team. Although the initial focus was on optimizing a robot design, the toolbox can be used widely to calibrate the parameters of hyperelastic models.
Read more about the plugin.
Breaking changes
Main breaking changes are:
- [Simulation.Core] Refactor DefaultAnimationLoop + multithreading #3959
- [Sofa.Simulation] First steps to remove the singleton Simulation #3889
- [MechanicalLoad] Remove the data force in ConstantFF and solves circular dependency #4019
- [LinearAlgebra] Implement CompressedRowSparseMatrixConstraint #3894
- [LinearAlgebra] Pull Insimo’s CompressedRowSparseMatrix into the main branch #3515
- Implementation of new API since refactoring of matrix assembly #3967
- [all] Lifecycle v23.12 1/n #4034
- [AnimationLoop] Change the default constraint solver in FreeMotionAnimationLoop #3994
Find all the breaking pull-requests introduced in this release.