Skip to content

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