1
$\begingroup$

In my application, there is no inherent 2D or 3D structure to the computer shader instances. So having multiple dimensions doesn't benefit me semantically in any way. I am wondering, whether it still might be beneficial to split up my workload over three dimensions to increase performance.

$\endgroup$

1 Answer 1

2
$\begingroup$

Broadly speaking, no, these won't really matter.

In specific cases, it could, but only because it might influence the order in which work groups are processed. And that would mean that it might influence cache behavior and the like, which could matter if neighboring work groups access related memories.

But even in such a case, which one is better would depend entirely on the nature of the shader's memory access patterns and the driver's decisions about ordering work groups. One shader might run slightly faster with a linear ordering, while a different shader might run faster with a multi-dimensional ordering. It all depends on what the shader is doing (and how the driver handles it), so you can't say that one is inherently better than the other.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.