You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have come across this exception when I was trying to compress a 2D float array. When I set the accuracy to 0.000001, as soon as I increase the array size to larger than 300x300, which is not a big array in the sense of HPC applications, it starts throwing this exception.
I have attached a simple code to re-produce it. It's an ADIOS2 code, but should be fairly easy to translate to a MGARD code.
I can reproduce this on 360a2fb. Here is more or less what's happening:
The original dataset is transformed into a collection of coefficients.
For each coefficient x, a quantizer bin width q is computed. The bin width depends on a number of factors, among them the error tolerance and the size of the input dataset.
The quantizer finds an integer n such that n * q is as close as possible to x. n is stored as a long int. If n doesn't fit in a long int, the exception you see is thrown.
The easiest way to run into this is to use a very low error tolerance. See #32. MGARD should probably store the coefficients uncompressed (abandoning quantization) rather than throw an exception in this situation.
I have come across this exception when I was trying to compress a 2D float array. When I set the accuracy to 0.000001, as soon as I increase the array size to larger than 300x300, which is not a big array in the sense of HPC applications, it starts throwing this exception.
I have attached a simple code to re-produce it. It's an ADIOS2 code, but should be fairly easy to translate to a MGARD code.
The text was updated successfully, but these errors were encountered: