任何人都知道在 cuda-gdb 下运行时消失的内核启动失败的可能调查途径吗?内存分配在规范范围内,每次在同一内核的同一运行中启动都会失败,并且(到目前为止)它在调试器中没有失败。
哦,伟大的大师,现在呢?
任何人都知道在 cuda-gdb 下运行时消失的内核启动失败的可能调查途径吗?内存分配在规范范围内,每次在同一内核的同一运行中启动都会失败,并且(到目前为止)它在调试器中没有失败。
哦,伟大的大师,现在呢?
cuda-gdb 将所有共享内存和寄存器溢出到本地内存。因此,当某些东西运行正常时,为调试而构建,否则失败,这通常意味着共享内存访问越界。cuda-memcheck 可能会有所帮助,具体取决于您使用的卡类型。Fermi 在这方面比旧卡更好。
编辑:让我回想起过去糟糕的日子,我记得有一个讨厌的 GT9500,它曾经抛出类似的 NV13 错误,并且在运行具有大量共享内存活动的非常内存密集型内核时会出现随机代码故障。调试时从不。我把它归结为坏硬件并转移到 GT200,从那以后再也没有看到类似的错误。一种可能是硬件不好。这是 G92(9800GT 或类似型号)吗?
CUDA GDB 可以使一些 cuda 操作同步。