在online racecheck文档中,严重性级别具有危险等级的描述警告:
这方面的一个例子是由于经线级编程导致的线程正在进行分组的假设。
该语句令人困惑,因为线程是在组中处理的。 (SM在warp中执行代码。)如果它们没有在组中处理,那么它们是如何处理的? “warp level programming”是什么意思? (非warp级编程会是什么?)
答案 0 :(得分:1)
所有处理都是在warp中处理的。 Warp级编程也称为warp同步编程取决于此,以确保代码/行为的正确性。许多或许多代码不依赖于warp的概念,或者每个warp有32个线程来提供正确的行为。
至少有两个问题。首先存在控制结构,例如if / then / else,warp中的线程可能并非全部以锁步方式执行。其次,不能保证未来的体系结构将保留warp的概念或每个warp的32个线程