量子计算9 发表于 2022-6-29 09:19
用的gpu不一样,最后那张图用的是好多年前的卡,我用的是v100,所以带宽本身就不一样了哈stonstad 发表于 2022-6-29 09:27
噢噢原来如此[捂脸]Arzie100 发表于 2022-6-29 09:35
哈喽楼主,想请假一下这里完全unroll looping的目的是什么呢,我个人的理解是当前cuda所有架构好像没有乱序执行,那么完全展开好像不能指令重排,增加指令的并行性?DomDomm 发表于 2022-6-29 09:38
CUDA中的unroll looping主要是减少for循环中的判断和i++操作。如果用模板参数将循环次数传进去的话,生成的cubin汇编会将loop完全展开,判断和i++所需要的指令就没了,通过这种方式加快计算。Baste 发表于 2022-6-29 09:42
谢谢楼主解答Doris232 发表于 2022-6-29 09:49
另外,完全展开后是有指令重排的。franciscochonge 发表于 2022-6-29 09:50
第五步第一行那个template <unsigned int blockSize>是啥意思啊, 我怎么设置这个blockSizeunityloverz 发表于 2022-6-29 09:58
这个就是用模板把参数传进去,这样的话,编译器可以在编译时做尽可能的优化。用法可以看我的代码哈,已经在github上了哈。HuldaGnodim 发表于 2022-6-29 10:08
那是什么对它做指令重排呢?ainatipen 发表于 2022-6-29 10:14
编译器做的,