Skip to content

Fix canny_opencl tests for Intel CPUs #3164

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

Merged
merged 2 commits into from
Jul 30, 2021
Merged

Conversation

umar456
Copy link
Member

@umar456 umar456 commented Jul 29, 2021

This PR fixes an error in the CannyEdgeDetector.OtsuThreshold test which appeared on the Intel CPU OpenCL implementation.

Description

Fixes an infinite loop error that occurred on Intel OpenCL platform targeting the CPU. The fix is to add a barrier at the end of the while loop in the edgeTrackKernel. I am not sure why this is necessary because there is sufficient synchronization there but this barrier fixes the issue.

Changes to Users

N/A

Checklist

  • Rebased on latest master
  • Code compiles
  • Tests pass
  • [ ] Functions added to unified API
  • [ ] Functions documented

umar456 added 2 commits July 29, 2021 19:19
The barrier in the while loop is necessary for Intel CPUs and maybe other
platforms to work correctly. I am not sure why it is required because we seem to
be performing sufficient synchronization otherwise.
@9prady9 9prady9 merged commit 57a3247 into arrayfire:master Jul 30, 2021
@9prady9 9prady9 deleted the canny_barrier branch July 30, 2021 02:47
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.

2 participants