-
Notifications
You must be signed in to change notification settings - Fork 35
Use math solver dispatch to separate math solver from main model #916
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
really nice!
power_grid_model_c/power_grid_model/include/power_grid_model/main_model.hpp
Outdated
Show resolved
Hide resolved
..._grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp
Outdated
Show resolved
Hide resolved
..._grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp
Outdated
Show resolved
Hide resolved
..._grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp
Outdated
Show resolved
Hide resolved
..._grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp
Outdated
Show resolved
Hide resolved
..._grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp
Outdated
Show resolved
Hide resolved
..._grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp
Outdated
Show resolved
Hide resolved
..._grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp
Outdated
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/main_model.hpp
Outdated
Show resolved
Hide resolved
..._grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nitpick, otherwise looks great
..._grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp
Outdated
Show resolved
Hide resolved
…ath_solver/math_solver_dispatch.hpp Co-authored-by: Martijn Govers <martijn.govers@alliander.com> Signed-off-by: Tony Xiang <19280867+TonyXiang8787@users.noreply.github.com>
@mgovers please approve again. I will merge this after trying conda build again. |
|
This PR uses
MathSolverDispatcher
to separate the real implementation of math solver in a different translation unit. The handle of the dispatcher is an input argument for the constructor of theMainModel
. In this way, the math solver function pointers are set in run-time.The core library is still header-only but with clear boundaries. In C-API separate translation units can compile the
MainModel
andMathSolver
.This enables the
conda-forge
again without hitting the RAM limit. See conda-forge/power-grid-model-feedstock#328