Skip to content

[SYCL][HIP] sssp results mismatch #5013

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

Closed
zjin-lcf opened this issue Nov 22, 2021 · 2 comments · Fixed by #5149
Closed

[SYCL][HIP] sssp results mismatch #5013

zjin-lcf opened this issue Nov 22, 2021 · 2 comments · Fixed by #5149
Labels
bug Something isn't working hip Issues related to execution on HIP backend.

Comments

@zjin-lcf
Copy link
Contributor

To reproduce issue for the example https://github.com/zjin-lcf/HeCBench/tree/master/sssp-sycl

The example built with the DPC++ with CUDA support finishes without result mismatch.

cp ../sssp-cuda/data.tar.gz .
tar -zxf data.tar.gz
make HIP=yes run
./main -g 120 -t 1 -w 10 -r 1
Number of nodes = 264346        Number of edges = 733846        Initialization Time (ms): 349.456024
Allocation Time (ms): 0.116000
Copy To Device Time (ms): 9.258000
Kernel Time (ms): 2.901000
Copy Back and Merge Time (ms): 1.888000
FAIL: Computed node 2 cost (-2147483647 != 50999) does not match the expected value
@zjin-lcf zjin-lcf added the bug Something isn't working label Nov 22, 2021
@alexbatashev alexbatashev added the hip Issues related to execution on HIP backend. label Dec 1, 2021
@npmiller
Copy link
Contributor

npmiller commented Dec 6, 2021

I had a quick look and it looks like this sample uses local memory accessors, unfortunately I believe this isn't supported by the HIP backend at the moment.

The NVPTX backend has a special IR pass to handle these which doesn't exist yet for the AMDGCN backend so any local accessor argument will not be setup correctly. I suspect using global buffer for the two arguments may work as a workaround, however we do need to add local argument support for HIP.

@zjin-lcf
Copy link
Contributor Author

zjin-lcf commented Dec 7, 2021

There are quite a few SYCL programs that have local accessors for shared local memory, but their results match. Is that right ? Thanks.

bader pushed a commit that referenced this issue Jan 20, 2022
Now, that it lives in `SYCLLowerIR` it can be easily shared between AMDGCN and NVPTX backends.

This requires the same alignment fix as for Cuda, see: #5113

Fixes #5013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working hip Issues related to execution on HIP backend.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants