在CUDA中,ID为0-31,32-63,...的线程始终在同一个warp中执行。但是,我无法在OpenGL规范或维基中找到任何类似的声明。 OpenGL是否提供相同的保证,或者假设对于大多数OpenGL实现是否安全?
答案 0 :(得分:1)
OpenGL规范没有说明warp,这是nVidia特定的实现细节。
在OpenGL中,着色器调用分为工作组。工作组中着色器调用的数量由着色器中的layout(local_size_x = X, local_size_y = Y, local_size_z = Z) in;
声明指定。工作组的数量在glDispatchCompute
调用中指定。它们映射到CUDA warp的方式是一个实现细节,它对用户来说是透明的。
答案 1 :(得分:1)
对于像Mali这样的基于ARM的GPU(在手机中),你没有经线。相反,每个核心都进入整个像素管道。读这个 https://community.arm.com/groups/arm-mali-graphics/blog/2014/04/23/arm-mali-compute-architecture-fundamentals