比如说,动态分析是在一个 CUDA 程序上完成的,这样某些线程最好在同一个 warp 中。
例如,假设我们有 1024 个 cuda 线程,warp 大小为 32。经过动态分析,我们发现线程 989、243、819、...、42(总共列出了 32 个线程)应该在同一个 warp 上。我们确定它们应该在同一个 warp 上,因为它们在代码执行方面几乎没有分歧——(在执行 CUDA 程序的动态分析时,它们可能不一定在同一个 warp 上)。
有没有办法控制线程在 CUDA 中扭曲调度?如果没有,是否有另一种 GPU 编程语言可以提供这种显式的扭曲调度。如果没有,可以做些什么(甚至可能是解决这个问题的非常低级的方法)?我希望至少有最后一个问题的答案,因为这可能是 CUDA 的实现方式——除非在硬件级别完成扭曲调度,这将是不幸的。谢谢!