问题标签 [cuda-gdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1634 浏览

cuda - CUDA 5.5 无法在带有 GTX 750 Ti 的 Ubuntu 12.04 中运行

尝试在 Ubuntu 12.04 64 位中使用带有 CUDA 5.5 的 GTX 750 Ti 时出现以下错误:

驱动程序安装无法找到内核源。请确保内核源代码包已正确安装和设置。如果您知道内核源代码包已正确安装和设置,则可以通过--kernel-source-path标志传递内核源代码的位置。

如何修复此错误?

0 投票
1 回答
456 浏览

cuda - Cudamemcpy2d 错误

cudamemcpy2d 返回错误 - 以下是下面代码中的代码,我提到了我遇到错误的行。请查看并帮助我。

请帮忙谢谢

0 投票
1 回答
244 浏览

cuda - Strange CUDA program behavior and I can't find bug by cuda-dbg

I want to implement MonteCarlo using CUDA.

I write my code on Win8 PC using Visual Studio2012/CUDA 5.5/GT 720M and it runs well.

Then I tried to compile my code in REHL5.3/Tesla C1060/CUDA 2.3 but the result turned out wrong.

Then I want to use cuda-gdb to debug it

but, when I compile my code like this:

the result is wrong. However I can't debug it because it's not debug-able code.

When I compile it like this:

The result, this time, get correct... So still I can't find my bug by debugging it...

the code looks like this, the function __device__ double monte_carlo_try() is not in the real code. the problem is, if I check the value of test[], I find the values are all correct. So there should be some error in the reduction part.

0 投票
2 回答
1298 浏览

cuda - cuda-gdb 错误信息

我尝试使用 cuda-gdb 调试我的 CUDA 应用程序,但出现了一些奇怪的错误。

我设置选项-g -G -O0来构建我的应用程序。我可以在没有 cuda-gdb 的情况下运行我的程序,但没有得到正确的结果。因此我决定使用 cuda-gdb,但是,在使用 cuda-gdb 运行程序时出现以下错误消息

Error: Failed to read the valid warps mask (dev=1, sm=0, error=16).

这是什么意思?为什么sm=0以及是什么意思error=16

更新 1:我尝试将 cuda-gdb 用于 CUDA 示例,但它因同样的问题而失败。我刚刚安装了 CUDA 6.0 Toolkit,然后是 NVIDIA 的说明。是我系统的问题吗?

更新 2

  • 操作系统 - CentOS 6.5
  • 图形处理器
    • 1 Quadro 400
    • 2特斯拉C2070
    • 我的程序只使用了 1 个 GPU,但我选择的任何 GPU 都收到相同的错误消息
  • CUDA 版本 - 6.0
  • 显卡驱动
    • NVRM 版本:NVIDIA UNIX x86_64 内核模块 331.62 Wed Mar 19 18:20:03 PDT 2014
    • GCC 版本:gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)

更新 3:我试图在 cuda-gdb 中获取更多信息,但得到以下结果

(cuda-gdb) info cuda devices Error: Failed to read the valid warps mask (dev=1, sm=0, error=16). (cuda-gdb) info cuda sms Focus not set on any active CUDA kernel. (cuda-gdb) info cuda lanes Focus not set on any active CUDA kernel. (cuda-gdb) info cuda kernels No CUDA kernels. (cuda-gdb) info cuda contexts No CUDA contexts.

0 投票
1 回答
387 浏览

ubuntu - CUDA交叉编译错误!cuda-gdb 错误消息 RSEG1058

我是这个 CUDA 和并行计算人员的新手,我最近遇到了一个问题。我有一个 Ubuntu 12.04 系统,它是主机,Jetson TK1 作为目标。我正在使用 Nsight Eclipse 来编写、编辑和编译算法。我正在使用 SSH 协议从主机连接 TK1。

当我尝试一些文件传输操作时,它总是可以的。但是,有时交叉编译过程很糟糕并且错误“连接到 ubuntu@192.168.0.94 已取消”,标题为“RSEG1058”。我不明白这个问题,因为这个问题发生在 75% 的时间里。有时它工作得很好。你能帮我吗?如果需要,我可以提供其他信息。顺便说一句,我还发现了另一个可能有问题的细节。当我尝试从“运行”按钮附近的箭头中的“运行配置”选项更改运行配置时,我发现我们可以更改最初设置的库和工具包路径。我在该窗口中看到的是 cuda-gdb 文件有一个带有“操作失败。文件系统输入或输出错误”消息的红十字图标。您可以看到图像并理解我在说什么。我不知道这两件事是否相关,但我厌倦了一直试图抓住完美的时机。

在此处输入图像描述

0 投票
0 回答
174 浏览

torch - 脚本仅在 cuda-memcheck 中运行时有效

我正在使用 torch 和 cudnn 编写一个 convnet 并且有一些内存问题。我尝试使用 cuda-memcheck 调试脚本只是注意到它在通过 cuda-memcheck 馈送时实际运行(尽管比它应该慢)。

事实证明,如果 cuda-memcheck 在后台运行,脚本本身的单独实例也可以正常运行。

知道这里可能会发生什么吗?

0 投票
2 回答
511 浏览

memory-management - cudaMemcpy() 使用 Type** 时会出现段错误

我想将一个双指针对象复制到主机并在 GPU 设备上对其进行计算。当对设备执行 cudaMemcpy 时,它会抛出 SEGFAULT。

现在下面的行抛出段错误

0 投票
1 回答
10143 浏览

cuda - cudaDeviceSynchronize 上的非法内存访问

我遇到了一个非常奇怪的错误,即在运行特定大小的 Heat 2D 模拟时出现“非法内存访问”错误,但如果我运行完全相同的模拟,则模拟运行良好,只是元素更少。

增加数组大小会导致此异常是否有原因?我使用的是 Titan Black GPU(6 GB 内存),但我运行的模拟远不及那个大小。我计算出我可以运行 4000 x 4000 的模拟,但如果超过 250 x 250,我会得到错误。

在我在设备上实例化模拟对象数组后立即发生错误。实例化代码如下:

请假设您看到的任何自定义类型都在工作,因为此代码在足够小的模拟上执行而不会出错。当大小超过 250 x 250 个元素时,内核函数的位置和状态数组中的元素数量似乎会导致错误,这让我感到很沮丧。任何见解都会很棒。

谢谢!

0 投票
1 回答
1458 浏览

cuda - CUDA非法访问地址陌生

我的问题是:CUDA 硬件是否有故障,或者是否有其他解释?我有一个内核已经使用了大约一年而没有修改。最近,我开始以不规则的间隔出现分段错误,即它可以重现,有时在几分钟后,有时在执行数小时后。这导致程序的最低版本仍然重现了段错误。以及从 stackoverflow 帖子中学到的很多东西。

cuda-memcheck 在重复 bash 循环中运行时,最终会报告:

错误指针操作的常见罪魁祸首已被排除。另一个线索是非法寻址在代码中出现的位置不一致;在整个内核中,对于全局数组的任何索引,它都会不规则地发生。

在我的问题的这一点上,最可能的解释是错误代码。是什么让我相信硬件有故障来自 cuda-gdb:

索引“ix”是:

并且在实例化后不被修改。确实,0x245684低于 的起始地址c=0x250000。然而,当我查询print &c[ix]它返回时0x255684,这是该数组可接受的地址。复制在再次弹出之前需要执行 10-50 次,但非法地址总是与返回的地址有一点0x010000不同。print &c[ix] 我无法解释错误消息和打印之间的地址差异。结合一点点差异,我怀疑硬件有问题。FWIW0x010000等于此 Tesla C1060 的最大网格大小。

最后,我今天用新型号替换了 CUDA 卡。执行 100 次后我无法重现。

0 投票
1 回答
1572 浏览

exception-handling - cuda 异常后的内存数据状态

CUDA 文档不清楚 CUDA 应用程序抛出异常后内存数据如何变化。

例如,内核启动(动态)遇到异常(例如 Warp Out-of-range Address),当前内核启动将停止。在此之后,设备上的数据(例如 __device__ 变量)是否仍会保留,还是会与异常一起被删除?

一个具体的例子是这样的:

  1. CPU 启动内核
  2. 内核将 __device__ variableA 的值更新为 5 然后崩溃
  3. CPU memcpy 从设备到主机的 variableA 的值,在这种情况下 CPU 得到的值是 5 还是其他?

有人可以说明这背后的理由吗?