Saturday, November 16, 2019

float-to-short conversion

Is it possible that at some point the GR3.7 float-to-short convert
(which uses Volk, it seems) got busted?

I'm seeing values that look like they have been inappropriately
byte-swapped.

The attached flow-graph produces an output file with the correct value
of "7" interpreted as a Short, but when the same is run on
a different (still X86) machine (The Atom X5 z8350), as on the Atomic
PI SBC, the values are byte-swapped.

I've been pulling my hair out for *weeks* on this, and only this evening
came to realize that somewhere, those "shorts" are getting
byte-swapped, and it looks like *one* of the Volk kernels may be to
blame.

I would fully-expect there to be "surprises" when exchanging data twixt
ARM SBCs and any randomly-chosen X86, because some (not ALL)
ARMs use a different byte-ordering, but this is between X86 systems.

And on my lappy, which is a core i7 m640, the attached flow-graph
produces the correct results in the output file.

My lappy is running GR 3.7.13.4 while the packaged GR for Ubuntu 18.04
(on the Atomic PI) is 3.7.11-10.

No comments:

Post a Comment