CPU2GPU算法移植发个经验小点,有没有人遇到?

qin_y_j 2008-06-23 06:12:55
关于移位运算的问题
CPU
2<<-7
CUDA
2<<(32-7)
要不然就出错了,不信试试看
...全文
209 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qin_y_j 2008-06-24
  • 打赏
  • 举报
回复
这个我也查了,我用VC,x86Cpu, 发现有很多代码都有右操作数为负数的情况;这个就是个解决方法;debug的时候可能就会碰到,很烦,我花了好久才通过!
dsdsdds 2008-06-24
  • 打赏
  • 举报
回复
我试了下,如果用gcc编译,那么 2<<-1相当于 2>>1。不过gcc会给出一个警告
darkstorm2111203 2008-06-24
  • 打赏
  • 举报
回复
恩,十分有用的经验.vc++编译器可能对C编译器的移位操作符进行了扩展
darkstorm2111203 2008-06-23
  • 打赏
  • 举报
回复
我在网上查到的结果是:
如果右操作数是负数,则移位运算(左移和右移)的结果是未定义的。
你在cpu上使用的编译器可能不是c的,所以和cuda的编译器有不同的行为。

580

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧