在CUDA中,可以使用#pragmaunroll指令展开循环,以通过提高指令级并行性来提高性能.该#pragma可选地跟着一个数字,指定多少次循环必须展开.
#pragma
不幸的是,文档没有给出关于何时应该使用该指令的具体指示.由于编译器已经展开了具有已知行程计数的小循环,是否应该#pragma在较大的循环上展开?在带有可变计数器的小循环上?那么可选的展开数量呢?还有关于cuda特定循环展开的推荐文档吗?
optimization cuda loop-unrolling
cuda ×1
loop-unrolling ×1
optimization ×1