编译时遇到如下问题:
“nvcc : error : ‘ptxas’ died with status 0xC0000094 (INTEGER_DIVIDE_BY_ZERO)”。
搜了下, ptxas.exe 编译 .ptx 到 .cubin,是编译过程中的一步。程序中没怎么用到除法,但是求余用到不少。于是我将所有求余所在函数都注掉,但还是有这个问题。
抓狂ing…
楼主您好!
这个和您是否在您的kernel里使用除法无关。
可能导致问题的原因如下(按概率排列):
(1)您的机器环境有问题
(2)在某种情形下,ptxas导致了内部错误。
建议:更换机器进行编译,或者重新安装cuda toolkit, 拔插内存等,看看问题是否消息,以检验是否(1)的问题。
能否把你的代码发给我?我怀疑是编译器的bug
代码比较长,不好发给你,不好意思了。我是在我之前的程序上改动的,之前编译运行都没问题。
按照“横扫千军”版主的建议,重装了最新的toolkit,仍然不行。
我现在试着在之前程序的基础上,逐步增加改动部分。看是增加哪一部分出现了这个问题。
谢谢版主和风辰兄!
楼主您好。一般较大概率是您的机器环境问题, 较小概率是ptxas的内部问题。
请尝试更换机器编译看看,以确定是否是机器/还是真的是ptxas的内部问题。
(此建议已经在2#给出过一次。再次建议尝试一下)。