cuda_linux系统下如何调用原子函数?

seanli628 2009-08-22 04:49:51
加精
我的HEDHAT LINUX系统下编译程序时,一个提示“atomicAd is undefined”,因我的程序中调用了atomicAdd()这个函数?请问怎么解决?
...全文
1510 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ray198421 2011-04-02
  • 打赏
  • 举报
回复
不错,学习了
hanyi_2011 2010-12-23
  • 打赏
  • 举报
回复
我改了编译通过了 可是执行时结果显示错误 cutilCheckMsg() CUTIL CUDA error : Kernel execution failed : invalid device function .
没有加原子函数的时候 执行时没有错误!
hanyi_2011 2010-12-23
  • 打赏
  • 举报
回复
问题解决了!用27楼说的方法解决的!谢谢啦!上一次改错了!呵呵!
iker_casillas 2010-12-22
  • 打赏
  • 举报
回复
不用这么麻烦……
你现在Makefile中指定主函数入口用的 CUFILES
改成CUFILES_sm_11 即可



EXECUTABLE := MultiCoreThreeLevelCache_MultiConfigGPUsimulation_MESI_b40c_stream

# CUDA source files (compiled with cudacc)
CUFILES_sm_20 := MultiCoreSimulation.cu \
radixsort_api.cu \

# CUDA dependency files
CU_DEPS := MultiCoreSimulation_kernel.cu

# C/C++ source files (compiled with gcc / c++)
CCFILES := Miscelleaneous.cpp
hanyi_2011 2010-12-22
  • 打赏
  • 举报
回复
我修改了common.mk文件里NVCCFLAGS变量的值 也添加了头文件 还是不行,请教大家!
amalcaowei 2009-11-09
  • 打赏
  • 举报
回复
在common.mk文件里修改NVCCFLAGS变量的值:
NVCCFLAGS := -arch sm_11

designxf 2009-09-04
  • 打赏
  • 举报
回复
一定要好好学习~~
fengnanfeng 2009-09-04
  • 打赏
  • 举报
回复
请问LINUX的潜在价值如何??
fengnanfeng 2009-09-04
  • 打赏
  • 举报
回复
出学!!
zhangfk 2009-09-03
  • 打赏
  • 举报
回复
高手
ygyi2008 2009-09-02
  • 打赏
  • 举报
回复
学习了
陌上花花 2009-09-02
  • 打赏
  • 举报
回复
学习学习
yimingxh 2009-09-02
  • 打赏
  • 举报
回复
对Linux不太了解。。。
baohui54883 2009-09-02
  • 打赏
  • 举报
回复
学习了
seanli628 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 l7331014 的回复:]
引用 7 楼 chenbo888666999 的回复:
我不用开勇大哥的向导,自己配置环境后,在命令行添加-arch sm_11,可以解决这个问题,但是如果用向导生成项目的话,由于命令行不能修改,就会出现这个问题,即使将-arch sm_11作为附加项也不行,不知大家用向导时是怎么解决的?


project属性->cuda->下有个command line的,直接在那里面改就该可以了吧.
[/Quote]
我们是在讨论LINUX系统下的解决办法,你怎么发一个WINDOWS的
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 seanli628 的回复:]
引用 8 楼 l7331014 的回复:
引用 7 楼 chenbo888666999 的回复:
我不用开勇大哥的向导,自己配置环境后,在命令行添加-arch sm_11,可以解决这个问题,但是如果用向导生成项目的话,由于命令行不能修改,就会出现这个问题,即使将-arch sm_11作为附加项也不行,不知大家用向导时是怎么解决的?


project属性->cuda->下有个command line的,直接在那里面改就该可以了吧.

我们是在讨论LINUX系统下的解决办法,你怎么发一个WINDOWS的
[/Quote]

linux下也有项目生成向导?呵呵.
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 chenbo888666999 的回复:]
我不用开勇大哥的向导,自己配置环境后,在命令行添加-arch sm_11,可以解决这个问题,但是如果用向导生成项目的话,由于命令行不能修改,就会出现这个问题,即使将-arch sm_11作为附加项也不行,不知大家用向导时是怎么解决的?
[/Quote]

project属性->cuda->下有个command line的,直接在那里面改就该可以了吧.
chenbo888666999 2009-08-27
  • 打赏
  • 举报
回复
我不用开勇大哥的向导,自己配置环境后,在命令行添加-arch sm_11,可以解决这个问题,但是如果用向导生成项目的话,由于命令行不能修改,就会出现这个问题,即使将-arch sm_11作为附加项也不行,不知大家用向导时是怎么解决的?
chenbo888666999 2009-08-27
  • 打赏
  • 举报
回复
请问5楼的朋友,这个问题在windows下你是怎么解决的,我也遇到了这个问题,还请帮忙解决
seanli628 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 l7331014 的回复:]
引用 2 楼 seanli628 的回复:
在WINDOWS下我已经解决这个问题了,现在就是不知道如何在LINUX系统解决问题。


makefile中的nvcc中,编译选项加-arch sm_11.
[/Quote]
问题已经解决,但我不是用make,而是直接用nvcc -arch sm_11 <程序文件>,如果要想在makefile的nvcc中加入-arch sm_11该怎么加?
加载更多回复(4)

374

社区成员

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

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