Skip to content

Conversation

@dchigarev
Copy link
Contributor

@dchigarev dchigarev commented Feb 14, 2025

Fixes #3240

The issue appeared after disabling RewriteTensorPointerPass in this PR (#2584). The disabled pass was responsible for the creation of boundary-check-masks and checked that the offset index is greater that zero avoiding out-of-bound loads/stores in case of a negative pointer offsets (exactly the case we see in the problematic test). The LoadStoreConversion that was supposed to "replace" the disabled pass in terms of boundary checks, doesn't have "index >= 0" check, causing invalid reads/writes in case of negative indices.

We don't see any issues in PVC's CI since the driver doesn't seem to report segfaults to sycl, causing them to be ignored. But on our testing BMG machine, the driver blocks all following commands to the GPU after a segfault, causing the test to fail.

The test (language/test_block_pointer.py::test_block_copy) passes on the test BMG machine after this fix.

@dchigarev dchigarev marked this pull request as ready for review February 14, 2025 18:55
@dchigarev dchigarev merged commit 766cab6 into main Feb 14, 2025
6 checks passed
@dchigarev dchigarev deleted the dchigarev/issue_3240 branch February 14, 2025 23:40
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.

FAILED language/test_block_pointer.py::test_block_copy on BMG

3 participants