You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First, thanks for this benchmark suite. I found it very straightforward to use.
A few issues:
Oclgrind reports a buffer overflow in the OpenCL-D TQ benchmark. The value *next in the TaskQueue_gpu kernel is used to index queue without knowing that it is in bounds, both before the while loop is entered, and at the end of the while loop.
Oclgrind also reports a barrier synchronisation issue in the while loop: shared local data t is read and then modified without a barrier in between, forming a race condition between work items in a workgroup.
I believe there are similar issues in the TQH benchmark.
Oclgrind also reported synchronisation issues in other benchmarks, which may be worth investigating.
The text was updated successfully, but these errors were encountered:
mn416
changed the title
Buffer overflows are barrier divergence in OpenCL-D TQ and TQH
Buffer overflows and barrier divergence in OpenCL-D TQ and TQH
Apr 16, 2024
First, thanks for this benchmark suite. I found it very straightforward to use.
A few issues:
Oclgrind reports a buffer overflow in the OpenCL-D TQ benchmark. The value
*next
in theTaskQueue_gpu
kernel is used to indexqueue
without knowing that it is in bounds, both before the while loop is entered, and at the end of the while loop.Oclgrind also reports a barrier synchronisation issue in the while loop: shared local data
t
is read and then modified without a barrier in between, forming a race condition between work items in a workgroup.I believe there are similar issues in the TQH benchmark.
Oclgrind also reported synchronisation issues in other benchmarks, which may be worth investigating.
The text was updated successfully, but these errors were encountered: