Open upsj opened 2 years ago
Examples where bitwise equivalence is important:
Just an organization question, do you suggest having a dedicated document somewhere which explains the all the details, or is this something that should be added to all classes/functions, where this might apply?
I would suggest adding a section to each LinOp (if it concerns apply) and function (if it concerns something else), and maybe a table giving an overview?
Motivated by #741:
Our SpMV formats and BLAS operations have different properties in terms of bitwise equivalence (determinism) and precision in general. It would make sense to document them more precisely.
Determinism
Important cases:
(Mixed) Precision
Dependent on whether the kernels use atomics or not, they can use the highest possible precision for all operations, or accumulate partially in the output precision. This has some impact on the precision on the precision of SpMV if the precision of the output vector(s) is smaller than the highest precision involved.