Memory requirements not calculated correctly
Nobody has claimed this yet.
- Dominant language
- Cuda
- Stars
- 692
- Forks
- 197
- PR merge metrics
- No merged PRs in 30d
Description
Issue #181 explains the mechanism behind AMG_Level::A and AMG_Level::Aoriginal. In a nutshell, they either point to the same matrix or A points to one matrix and Aoriginal is NULL.
When calculating the memory requirement for a level https://github.com/NVIDIA/AMGX/blob/32e1f44fa93af7859490a800f137e75b6513420c/base/include/amg_level.h#L194 the size of both A and Aoriginal are taken into account separately, resulting in double counting when Aoriginal != NULL.
We should either not account Aoriginal at all, or add a check to make sure Aoriginal != A (which is current cure is never the case unless A == NULL)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in base/include/amg_level.h at the memory requirement calculation around line 194. Read how AMG_Level::A and AMG_Level::Aoriginal are represented and compare their sizes when they refer to the same matrix. Done means the memory requirement no longer double-counts aliased matrices; no test file is mentioned in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 58/100