用户
 找回密码
 立即注册
hrbspider 该用户已被删除
发表于 2013-7-25 11:18:01
51944
本帖最后由 hrbspider 于 2013-7-25 11:21 编辑

编译器用 nsight, 原来的编译参数  code generation:compute_10,sm_10

将其改为 compute_20,sm_20  后,结果不对,而且没跑完就挂了,请问是怎么回事? 是否将code generation 设高些,程序
速度会更高呢

显卡是 Gefore GTS 450,计算能力应该是2.1。

使用道具 举报 回复
发表于 2013-7-25 13:40:56
LZ您好:

1:建议您按照您的GPU的实际计算能力版本设置编译参数。

2:在改变编译参数之后程序出现问题,这一般是您自己的程序BUG,请您认真debug。

3:将code generation版本调高,一般并不会附送速度方面的提升。
具体说:
compute_  版本的提升允许您在代码中使用一些新的特性和功能,比如printf。
sm_  的版本应大于等于compute_的版本,代表实际编译为二进制代码的版本。

以及,为低版本硬件编译生成的exe文件,如果内部包含了PTX代码,那么在高版本硬件上执行的时候会jit编译出高版本硬件适用的二进制代码,并使用。

4:您的GPU建议按照compute_20,sm_21的参数编译。

大致如上,供您参考。

祝您编码和调试顺利~
使用道具 举报 回复 支持 反对
发表于 2013-7-25 15:13:06
ice 发表于 2013-7-25 13:40
LZ您好:

1:建议您按照您的GPU的实际计算能力版本设置编译参数。

编译参数改为compute_20,sm_21 后 kernel 没有执行 是什么原因啊,难怪程序输出的影像都为初始值
使用道具 举报 回复 支持 反对
发表于 2013-7-25 15:16:23
本帖最后由 ice 于 2013-7-25 15:17 编辑
hrbspider 发表于 2013-7-25 15:13
编译参数改为compute_20,sm_21 后 kernel 没有执行 是什么原因啊,难怪程序输出的影像都为初始值 ...

LZ您好:

请按照前文建议检查您kernel的BUG,或者提供您的代码和其他具体信息以便其他人帮你观察出问题。

您在这里每次都空洞无物地慨叹程序为何不对,这个解决不了任何问题。

如果您继续这样,此帖将被转移至水区。

祝您好运~
使用道具 举报 回复 支持 反对
发表于 2013-7-25 15:26:24
本帖最后由 hrbspider 于 2013-7-25 15:28 编辑

用start cuda debug调试的时候 kernel 函数第一句话的断点都没有停,所以我觉得和代码无关,是kernel没有执行。
kernel配置参数用的     <<<16,1024>>>
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册