关于cuda寄存器数组
在基于cuda对一些算法做并行优化时,为了尽可能的提高算法的运行速度,有时我们会想要用寄存器数组使得算法飞一般的快,然而,效果却总是差强人意。用了竟然比没用快,这是为什么呢?
哈哈,说重点,我们定义寄存器数组有以下两种方式:
1 Inta[8];
此时,我们定义的数组真的是我们想要的寄存器数组吗?这样的定义,编译器将我们定义的“寄存器数组”放在了 local memory,而local memory 就是在显存中开辟的一块空间,速度怎么可能会快?
关于cuda寄存器数组
在基于cuda对一些算法做并行优化时,为了尽可能的提高算法的运行速度,有时我们会想要用寄存器数组使得算法飞一般的快,然而,效果却总是差强人意。用了竟然比没用快,这是为什么呢?
哈哈,说重点,我们定义寄存器数组有以下两种方式:
此时,我们定义的数组真的是我们想要的寄存器数组吗?这样的定义,编译器将我们定义的“寄存器数组”放在了 local memory,而local memory 就是在显存中开辟的一块空间,速度怎么可能会快?