我想通过循环展开的方式来尝试优化,用同一个demo程序分别在GPU与DCU上进行测试,未循环展开前,在GPU与DCU上测试浮点性能差不多
然后循环展开了128次,在自己的GPU上运行与未优化相比有2-3倍的性能提升
但是在DCU性能下降的特别明显
我不断减少了展开次数性能会有所恢复,但也不会比未循环展开的性能好,请问为什么会有这么大的差异?
主要的差异来源于循环展开之后,对系统部分资源消耗增加,如寄存器资源,因此如果资源可以满足,则循环展开可以有一定的性能提升,相反则不会甚至会出现性能降低的情况
主要的差异来源于循环展开之后,对系统部分资源消耗增加,如寄存器资源,因此如果资源可以满足,则循环展开可以有一定的性能提升,相反则不会甚至会出现性能降低的情况