AMGX
AMGX copied to clipboard
Memory requirements not calculated correctly
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)