GTX295上多线程的问题

leafjessica 2010-11-25 05:40:26
大家都知道,295是由两块显卡组成的,之前也做过cuda多线程的编程,把两个295都利用起来,但是今天却遇到障碍了,从执行结果看,只有一个线程执行了,另一个看上去就没有执行,这是为什么呢?大家又遇到过吗?
我自己分析,这次核函数里面有个大循环,难道是资源分配不够用了?那又怎么判断资源够不够用呢?
由此想到,显卡里的两个295是平等的吗?有相同的global memory?
...全文
132 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 leafjessica 的回复:]
好冷清啊。。自己顶
分析发现,在295上面进行双核双线程编程时,两个295同时进行cudamemcpy向host memory进行拷贝时就只能有一个成功,错开拷贝就可以,有什么办法可以解决吗?
[/Quote]

PCI总线只有一根的原因吧.
leafjessica 2010-11-26
  • 打赏
  • 举报
回复
问题出在cudamemcpy语句上,我的流程是每个子线程执行完毕后通过cudamemcpy将结果拷贝到CPU缓存里,在cudamemcpy设置断点单步执行,结果是对的,但是没有单步执行,看结果就是只有线程0将数据拷贝出来了,为什么呢?
leafjessica 2010-11-26
  • 打赏
  • 举报
回复
好冷清啊。。自己顶
分析发现,在295上面进行双核双线程编程时,两个295同时进行cudamemcpy向host memory进行拷贝时就只能有一个成功,错开拷贝就可以,有什么办法可以解决吗?
leafjessica 2010-11-26
  • 打赏
  • 举报
回复
怎么检测两个线程为什么只有一个执行呢?原因出在哪里呢?
cuda2010 2010-11-25
  • 打赏
  • 举报
回复
应该是两块显存吧,各自独立的。
  • 打赏
  • 举报
回复
两个芯片,一块显存.
leafjessica 2010-11-25
  • 打赏
  • 举报
回复
再补充下,cuda程序里有两个子线程,各在一个295上工作,执行相同的核函数,只是参数值不同,但从执行上看,只有一个线程执行了。

231

社区成员

发帖
与我相关
我的任务
社区描述
CUDA on Windows XP
社区管理员
  • CUDA on Windows XP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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