vulkan - 子组调用索引是否映射到 gl_LocalInvocationIndex?
问题描述
我需要计算gl_SubgroupID*gl_SubgroupSize+gl_SubgroupInvocationID
,还是可以使用gl_LocalInvocationIndex
?单个子组中的调用是否连续gl_SubgroupInvocationID
?
解决方案
我需要计算
gl_SubgroupID*gl_SubgroupSize+gl_SubgroupInvocationID
,还是可以使用gl_LocalInvocationIndex
?
这些是不同的东西。本地调用索引是工作组内调用的索引。子组是不大于工作组但可能更小的调用分组。因此,子组调用索引与本地调用索引不同。
正如标准所说:
SubgroupLocalInvocationId
和LocalInvocationId
或之间没有直接关系LocalInvocationIndex
。
单个子组中的调用是否连续
gl_SubgroupInvocationID
?
是的,它们是连续的,但仅在它们处于半开范围 [0, SubgroupSize
) 的意义上。因此,可能具有相邻本地调用索引的两个调用可能没有相邻的子组索引。
推荐阅读
- apache-spark - 有没有办法使用 spark-cassandra 连接器访问 Cassandra 模式信息?
- python - IF 语句忽略键盘输入
- python-2.7 - 岩石检测,我无法检测到所有岩石
- java - 需要 yml 文件的指导
- java - 使用位操作验证 ascii 字符串是否包含唯一字符,而不使用其他数据结构
- csv - CSV - 如何匹配相似的数据并将文件与批处理合并?
- arrays - MongoDB - 使用不同的值查询输出更改
- sql-server - 如何根据不同表中的几列将多行插入到多对多表中
- r - Dplyr Filter Bug
- pandas - Grab the Memory Usage Value from Pandas DataFrame.info()