【发布时间】:2016-02-27 19:57:28
【问题描述】:
我的问题涉及 ComputeShader,尤其是 HLSL 代码。因此,DeviceContext.Dispath(X, Y, Z) 产生 X * Y * Z 组,每个组在属性 [numthreads(x,y,z)] 中设置了 x * y * z 个单独的线程。问题是,如何获得已调度的线程组总数和组中的线程数?让我解释一下为什么我想要它 - 我打算处理的数据量可能会有很大差异,所以我的方法应该适应输入数组的大小。当然,我可以在常量缓冲区中发送 Dispath 参数以使其可从 HLSL 代码中使用,但是组中的线程数呢?我正在寻找像GetThreadGroupNumber() 和GetThreadNumberInGroup() 这样的方法。感谢您的帮助。
【问题讨论】:
标签: c++ directx hlsl compute-shader directcompute