Matrix-multiply: Exception on size >= 8192

In my setup computecpp-sdk/samples/matrix-multiply works fine for matSize <= 4096. As soon as I choose matSize >= 8192, the program causes the screen to blank for a few seconds and then throw an exception “[ComputeCpp:RT0201] Error while waiting for an event”

I am running computecpp v2.1.0 and CUDA/v11.0 on a GeForce GTX TITAN X with ptx64 enabled.

The behavior is not entirely reproducible. In some cases, the program appears to work correctly for matSize==8192 or fail in slightly different ways. Most cases, however, behave as described above.

Hi @NNemec, my best guess is that the kernel is quite slow, and times out when given sufficiently large sizes. Some watchdogs to determine whether or not a kernel has failed are quite aggressive and might kill the kernel earlier than expected.

I’ve tried running it here with that size, it’s still not finished, so I am somewhat convinced that the problem is just that it’s too slow for the driver to countenance. If you’d like more performant matrix multiplication kernels in SYCL, you could try looking at SYCL-BLAS and SYCL-DNN, which both have matrix multiply kernels.

1 Like