Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 计算着色器中工作组的执行顺序是否确定且有序?_Unity3d_Compute Shader_Directcompute - Fatal编程技术网

Unity3d 计算着色器中工作组的执行顺序是否确定且有序?

Unity3d 计算着色器中工作组的执行顺序是否确定且有序?,unity3d,compute-shader,directcompute,Unity3d,Compute Shader,Directcompute,我正在Unity中编写一个计算着色器。我知道一个工作组中的一组线程可以在硬件上以任何顺序/完全并行地执行。我不确定的是一组工作组是否按特定顺序执行 如果我的内核是用numthreads(256,1,1)注释的,这是否意味着SV_GroupIDzero首先执行,其线程SV_GroupIndex从0到255(以任何顺序),然后是SV_GroupID第一号,等等 如果不是默认情况,有没有办法强制执行。。。?我是否可以将线程数设置为硬件上可用的线程数,以确保它一次只能执行一个组或其他操作?(听起来有点骇

我正在Unity中编写一个计算着色器。我知道一个工作组中的一组线程可以在硬件上以任何顺序/完全并行地执行。我不确定的是一组工作组是否按特定顺序执行

如果我的内核是用
numthreads(256,1,1)
注释的,这是否意味着
SV_GroupID
zero首先执行,其线程
SV_GroupIndex
从0到255(以任何顺序),然后是
SV_GroupID
第一号,等等

如果不是默认情况,有没有办法强制执行。。。?我是否可以将线程数设置为硬件上可用的线程数,以确保它一次只能执行一个组或其他操作?(听起来有点骇人!)

上下文:我有一个有序数据的稀疏数组,我正试图将它压缩成一个密集数组,同时保持顺序。事实证明,使用并行算法利用现有的排序是很棘手的