chunkyan 发表于 2013-9-12 21:50
谢谢版主提醒,方才按照release编译后测试,确实是使用shared memory优化后的程序远远快于未优化程序。
能 ...
正如版主大人说的,Debug版几乎没有测试意义~~
另外我斗胆地猜测下原因:
印象中从global到shared的copy在debug模式下是极慢无比的(加了一大堆校验指令,此外还会安插array head和array tail以检查你是否搞出类似下标溢出这样的操作~~具体不大记得了,如果版主了解的话还麻烦您补充),而release模式下这些指令会被移除~~所以我猜测导致Debug模式下shared更慢和这个memory copy有莫大联系~~
不过,事实上我也没亲自试过。如果Shi哥有兴趣倒是可以检查下kernel各部分的执行时间,看看这个copy是否花费巨大? |