Spurious memory allocation reproduced with `poisson_dev_fe.jl`
- Dominant language
- Julia
- Stars
- 144
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
This issue is to document a strange behaviour which is reproduced in `poisson_dev_fe.jl` when the following code is executed:
```
@time begin
for i in 1:100_000
smart_sum(manual_uₕ_array_at_qₖ)
end
end
```
A comment was attached to this code, that I move from there and put here to not forget
```
WHY THE SECOND PIECE OF CODE REQUIRES A NUMBER OF ALLOCATIONS THAT GROWS
WITH THE NUMBER OF CELLS? I CAN UNDERSTAND THAT THE CACHE ARRAY of
`manual_uₕ_array_at_qₖ` REQUIRES MORE MEMORY IN ABSOLUTE TERMS, BUT I AM NOT
ABLE TO SEE WHY IT GROWS WITH THE NUMBER OF CELLS!!!! ANY HINT?
```
Contributor guide
Research direction
Start with poisson_dev_fe.jl and run the shown @time loop around smart_sum(manual_uₕ_array_at_qₖ). Compare allocation counts as the number of cells changes, then trace the relevant Gridap and Julia calls. Done means identifying whether the growth is expected and documenting its cause or the next action.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100