Avoid copying stiffness matrix for adjoint solves
Open
- Dominant language
- C++
- Stars
- 245
- Forks
- 36
- Avg merge
- 8d 23h
- Merged PRs (30d)
- 4
Description
We currently ask the stiffness matrix for its transpose, which allocates another sparse matrix. Now that we have a differentiable solver abstraction, we could have the adjoint solve use the action of the transpose, say using the MFEM `TransposeOperator`.
Contributor guide
Research direction
Start by tracing the differentiable solver abstraction and the code that asks the stiffness matrix for its transpose. Read MFEM's TransposeOperator usage and verify that adjoint solves apply the transpose action without allocating another sparse matrix; preserve the existing solve behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100