Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[documentation] Add helper page for 'precision issues' #94

Open
Tracked by #95 ...
astewart-xmos opened this issue Apr 21, 2022 · 0 comments
Open
Tracked by #95 ...

[documentation] Add helper page for 'precision issues' #94

astewart-xmos opened this issue Apr 21, 2022 · 0 comments
Labels
size:M type:documentation Improvements or additions to documentation

Comments

@astewart-xmos
Copy link
Contributor

This comes out of issue #89.

It will probably be generally useful to include a page (or pages) in the lib_xs3_math documentation regarding issues that may be encountered where the BFP implementation of an algorithm has intermediate results with less precision than is desirable or would be ideal.

These might include:

  • Problems that may be encountered when using vectors with a large dynamic range (e.g. most frequency-domain vectors)
  • Problems fundamental to BFP such as multiplying two vectors where each vector's headroom is determined by an element at a different index (which is opaque to the BFP functions) and so the multiply makes incorrect (but necessary!) assumptions about the worst case result (to avoid saturation)
  • Problems specific to the XS3 architecture. For example, the fact that 32-bit multiplies (by the VPU) always include an implicit 30-bit right-shift.

(Note that #89 was a case involving all three of these.)

The documentation page(s) should include simplified examples that demonstrate the problem(s) and should suggest possible remedies (such as splitting up BFP vectors or element-wise scaling of vector components)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:M type:documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant