Skip to content

Conversation

eulovi
Copy link
Contributor

@eulovi eulovi commented Dec 11, 2024

Previous MR can be found in: https://gitlab.lrz.de/baci/baci/-/merge_requests/2443

Description and Context

As pointed out in #137, the assemble() methods in 4C_linalg_sparsematrix.{hpp,cpp} had the input parameter eid. Although this parameter wasn't used in SparseMatrix, it was found to be used to check if the given element has conditioned nodes in the strategies of InterfaceSplitStrategy in 4C_ale_utils.hpp and 4C_fluid_utils.hpp.

As the assembly strategy in InterfaceSplitStrategy might have a performance gain, this is assessed in this draft. For now, I changed all the InterfaceSplitStrategy instances to Core::LinAlg::DefaultBlockMatrixStrategy. If this works out, I think the InterfaceSplitStrategy classes from ale and fluid libraries can be deleted.

Related Issues and Merge Requests

Related to #137

Checklist

  • These changes maintain backwards compatibility.

@eulovi eulovi force-pushed the 1305-refactor-matrix-assembly branch from 7cf2bb0 to 412fd80 Compare December 11, 2024 16:31
@amgebauer amgebauer marked this pull request as draft December 11, 2024 16:49
@eulovi
Copy link
Contributor Author

eulovi commented Dec 12, 2024

With the current changes, all the tests pass and no test fails due to timeout. Therefore, I think it is fine to delete the class InterfaceSplitStrategy from ale and fluid and use DefaultBlockMatrixStrategy from LinAlg. Would this be a good solution for you @mayrmt, @maxfirmbach?

@mayrmt
Copy link
Member

mayrmt commented Dec 12, 2024

@eulovi If you want to assess performance, it is not sufficient to just look a the test suite. You need to run large examples on a cluster to actually obtain reliable timings.

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.

2 participants