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

Tweak prototype spec text to address issues raised in Phase 2 poll #53

Closed
2 of 3 tasks
ngzhian opened this issue Feb 18, 2022 · 4 comments
Closed
2 of 3 tasks

Tweak prototype spec text to address issues raised in Phase 2 poll #53

ngzhian opened this issue Feb 18, 2022 · 4 comments
Labels
phase 3 todos issues to be resolved before polling for phase 3

Comments

@ngzhian
Copy link
Member

ngzhian commented Feb 18, 2022

Suggested spec text can be found in this commit ngzhian@21229c0 and previewed at https://www.ngzhian.com/relaxed-simd/core/exec/numerics.html#relaxed-operations

The comments we got at the phase 2 poll is summarized in #38 (comment) and comments following that:

  • the choice of fixed projection means that the individual cases for an instruction are correlated, e.g. for relaxed min we cannot have the case where you return the the first operand when either operand is nan (like x86 but returning first operand)
  • the instructions are using set notations, it should be a list of sets
  • consistency between similar ops, multiply add and multiply subtract, for example

This issue tracks work required to update the spec text.

@ngzhian ngzhian added the phase 3 todos issues to be resolved before polling for phase 3 label Feb 18, 2022
@ngzhian ngzhian mentioned this issue Feb 18, 2022
@ngzhian
Copy link
Member Author

ngzhian commented Mar 1, 2022

Updated to use list notation, see https://www.ngzhian.com/relaxed-simd/core/exec/numerics.html#relaxed-operations.
Consistency between fma/fms resolved by defining fms in terms of fma (with 3rd input negated).

We still don't have consistency between min/max, but that's ok, @Maratyszcza mentioned something about giving the implementation the freedom for optimization here (but it wasn't captured in the meeting notes, if you can elaborate a bit more that will be great).

For the first item, choice of fixed projection, we can add 1 more case for min/max to allow for the case where we return first operand where either operand is a nan. Although none of the architectures I've looked at does this, we can add it as a reasonable implementation.

@lars-t-hansen
Copy link

Nit: Rightparen missing in defns of relaxed_fma and relaxed_fms.

@ngzhian
Copy link
Member Author

ngzhian commented Mar 18, 2022

Nit: Rightparen missing in defns of relaxed_fma and relaxed_fms.

Fixed, thanks!

@ngzhian
Copy link
Member Author

ngzhian commented Apr 14, 2022

Tracking Phase 3 poll feedback on spec text in #71

@ngzhian ngzhian closed this as completed Apr 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
phase 3 todos issues to be resolved before polling for phase 3
Projects
None yet
Development

No branches or pull requests

2 participants