On 2021-06-13 07:02, Anton Gladky wrote:
Hi Drew,

Would you like me to push to salsa (experimental branch) for
inspection?

Yes, please.


OK, pushed to experimental branch.

Bring the question of REALTYPEWIDTH to mind (the size of floating point numbers). The "64-bit support" in other packages essentially concerns integers (indexing) not floating point numbers, so I figure we don't need to change REALTYPEWIDTH as well. Or if we do want to change REALTYPEWIDTH, then we might want to change it in the standard build too.

For comparison, SuperLU-Dist just uses double for values. Hypre uses HYPRE_Real, which can be configured to single or double or longdouble (default double). SCOTCH is mainly working with indices (integers defined as SCOTCH_Num) but internally uses double more often than float when it needs floating point numbers (it does use both). PETSc uses PetscReal which can be configured single or double, float128 or fp16 (default double).

I figure it's simplest not to change REALTYPEWIDTH unless there's a specific known need to make the change. We need to set IDXTYPEWIDTH to 64 to support extremely large systems with billions of degrees of freedom, but that doesn't necessarily mean the floating point value at each index also requires higher precision. On the other hand changing to REALTYPEWIDTH=64 (even in standard libmetis) might better match the default of other packages.

Apart from that question, I'm happy with the patch. As far as I'm concerned it's ready to upload to experimental.


Drew

Reply via email to