CUDA支持多线程调用吗?

ChinaVBS 2012-09-11 09:42:21
我写一个CUDA DLL 用DELPHI调用,在主线程中没有任何问题,在主机端非主线程下一调用DLL用的CUDA功放函数就崩掉。不知CUDA支不支持多线程。我的显卡是GT440.



这样不会报错


线程1 线程2

1.申请内存(DEVICE) ‘’

2.复制数据 (HOST TO DEVICE) ‘’

3.CUDA并行计算数据 (DEVIVE) ‘’

4.复制计算结果(DEVICE TO HOST) ‘’

5.释放内存(DEVICE) ‘’



这样错

1.申请内存(DEVICE 如指针为AA)
2.复制数据 (HOST TO DEVICE)

线程1 线程2

3. CUDA并行计算数据 (DEVIVE) ‘’

4.复制计算结果(DEVICE TO HOST) ‘’

5.释放内存(DEVICE) ‘’

...全文
549 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaVBS 2012-09-21
  • 打赏
  • 举报
回复
问题找到了,用4.2.9的SDK后就不会出错了。
dubo2008 2012-09-18
  • 打赏
  • 举报
回复
你这两个线程是并行进行的么?
如果是这样,应该就会出错。

581

社区成员

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

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