Skip to content

Conversation

@jhale
Copy link
Member

@jhale jhale commented Feb 2, 2026

This makes it possible to use the memory management of the SuperMatrix object separately from the solver in C++.

No changes in Python - doesn't seem worth the boiler plate at the minute.

template <typename T>
int SuperLUDistSolver<T>::solve(const la::Vector<T>& b, la::Vector<T>& u) const
{
std::int64_t m = _A_superlu_mat->Amat().index_map(0)->size_global();
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Breaks encapsulation, get from native SuperMatrix?

@jhale
Copy link
Member Author

jhale commented Feb 2, 2026

Compromise would be for solver to still take MatrixCSR and then construct and hold SuperLUDistMatrix internally, halves the Python boilerplate.

@jhale jhale marked this pull request as ready for review February 2, 2026 14:05
@jhale jhale enabled auto-merge February 2, 2026 14:09
@jhale jhale disabled auto-merge February 2, 2026 14:12
@jhale jhale enabled auto-merge February 2, 2026 14:25
@jhale jhale disabled auto-merge February 2, 2026 14:27
@jhale jhale enabled auto-merge February 2, 2026 14:27
@jhale jhale added this pull request to the merge queue Feb 2, 2026
Merged via the queue into main with commit d4f8026 Feb 2, 2026
19 checks passed
@jhale jhale deleted the jhale/split-superlu-solver-matrix branch February 2, 2026 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants