你的问题有点笼统,所以这里有几个一般的方法:
填充您的数据,以便所有相同大小的对象(例如零)
重新组织你的类似数据以适应warp,分歧只发生在warp中,而不是发生在多个warp中
warp中的线程总是同步的。如果可能且必要,将数据划分为小于33的2的幂,以避免显式同步。
有一些分歧是可以的
如果有帮助,请使用C ++模板来帮助指导内核流程。