llnl / llnl/smith

Avoid copying stiffness matrix for adjoint solves

Open
#1,517 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.