如何使用atomicInc, -arch sm_11问题

alexandnpu 2009-09-05 03:12:12
要使用到atomicInc, 但是不知道该加什么头文件,查找了一下,该函数是在sm_11_atomic_functions.h中,又查到好像是要加一个-arch sm_11的编译选项

我在VS2008中进行的编译,使用的VS CUDA WIZARD,
在项目属性-》cuda-》command line中additional options中加入了-arch sm_11, 但是经过这么一加,build时则会出现LNK1181的错误!!

不知该怎么解决,到底怎么样才能用上atomic系列的函数?、
谢谢!
...全文
616 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
galerjim 2010-10-27
  • 打赏
  • 举报
回复
谢谢,七楼,我也搞定了!
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 alexandnpu 的回复:]
一个下午的劳动,总算把它给搞定了
方法如下:

在solution上右击,调出项目属性,选择cuda-》advanced
在右边可以看到有GPU Architecture Compile Name和GPU Architecture Code Name
这两个选项,都对应与-arch和-code两个编译选项, 把它们两个都选成1.1的,值允许global memory内的atomic操作,然后就可以了,关于-arch和-code的区别,可以查看http://we.pcinlife.com/thread-1227182-1-1.html

这样,就可以使用原子操作了!
[/Quote]

谢谢!保存.呵呵.
alexandnpu 2009-09-05
  • 打赏
  • 举报
回复
为了找这两个选项,真不容易啊!
alexandnpu 2009-09-05
  • 打赏
  • 举报
回复
一个下午的劳动,总算把它给搞定了
方法如下:

在solution上右击,调出项目属性,选择cuda-》advanced
在右边可以看到有GPU Architecture Compile Name和GPU Architecture Code Name
这两个选项,都对应与-arch和-code两个编译选项, 把它们两个都选成1.1的,值允许global memory内的atomic操作,然后就可以了,关于-arch和-code的区别,可以查看http://we.pcinlife.com/thread-1227182-1-1.html

这样,就可以使用原子操作了!

不过还是要感谢li和我的讨论,谢谢!
  • 打赏
  • 举报
回复
把sdk的所有lib复制到vs的lib目录下.
把sdk的所有dll复制到项目的exe的同一目录下.
alexandnpu 2009-09-05
  • 打赏
  • 举报
回复
老兄,你上面说的那些,我不是全懂,说一下我的情况吧

我把sm_11_atomic_functions.h 复制到了项目目录下,在源文件中也包含了

在相应的设置中我的提问中也说了一遍了,加了一个参数,结果却是一个LNK1181,我不知道该配置啥

因为我之前没有怎么用过微软的IDE,对它的配置也是不熟,希望你能明示!

谢谢
  • 打赏
  • 举报
回复
要找obj中含atomicAdd的lib没找到(非lib没打开)吧.

尝试一下以下的对应(lib路径):

出现此错误的原因可能是链接器找不到文件名或项目属性中指定的文件路径。 但是,项目属性中提到的文件路径正确链接器不处理文件路径中的空格。
若要解决此错误,使用不带空格字符路径,或使用项目属性中的引号路径。
alexandnpu 2009-09-05
  • 打赏
  • 举报
回复
Error 1 fatal error LNK1181: cannot open input file '.\EmuDebug\sort_main.obj'

贴出错误信息
alexandnpu 2009-09-05
  • 打赏
  • 举报
回复
出现错误的不是一个lib文件,而是一个obj文件,我的文件名是sort_main.cu相应的出错文件是sort_main.obj
但是,如果我把那个-arch sm-11去掉,则编译会是好的,不过会报出atomicAdd undefined的错误
  • 打赏
  • 举报
回复
[Quote=引用楼主 alexandnpu 的回复:]
我在VS2008中进行的编译,使用的VS CUDA WIZARD,
在项目属性-》cuda-》command line中additional options中加入了-arch sm_11, 但是经过这么一加,build时则会出现LNK1181的错误!!
[/Quote]

LNK1181的文件是哪个?检查一下你的lib路径是否正确.

231

社区成员

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

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