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

Remove ORC kernels that use sqrtf #658

Merged
merged 1 commit into from
Oct 22, 2023
Merged

Conversation

argilo
Copy link
Member

@argilo argilo commented Oct 14, 2023

Fixes #622
(as well as gqrx-sdr/gqrx#570 and gqrx-sdr/gqrx#1191).

The sqrtf ORC instruction is dangerous, because on at least one platform (ARM) it produces sqrt(0) = NaN.

@jdemel suggested in #640 that we remove affected kernels completely, so I've done that here. This may potentially reduce performance on platforms other than x86 & ARM, but it's probably worth it to not have incorrect output on ARM.

There are a couple other unused kernels that also have the sqrtf instruction, but they will be removed in #638.

Signed-off-by: Clayton Smith <argilo@gmail.com>
@argilo
Copy link
Member Author

argilo commented Oct 14, 2023

The test failures are unrelated; they're due to #646 and #651.

Copy link
Contributor

@jdemel jdemel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jdemel jdemel merged commit 629c29f into gnuradio:main Oct 22, 2023
30 of 32 checks passed
@jdemel jdemel mentioned this pull request Nov 4, 2023
@argilo argilo deleted the remove-orc-sqrt branch December 2, 2023 16:48
Alesha72003 pushed a commit to Alesha72003/volk that referenced this pull request May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ORC implementation of volk_32fc_magnitude_32f returns incorrect results on ARM
3 participants