问题标签 [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.
cuda - CUDA 5.5 无法在带有 GTX 750 Ti 的 Ubuntu 12.04 中运行
尝试在 Ubuntu 12.04 64 位中使用带有 CUDA 5.5 的 GTX 750 Ti 时出现以下错误:
驱动程序安装无法找到内核源。请确保内核源代码包已正确安装和设置。如果您知道内核源代码包已正确安装和设置,则可以通过
--kernel-source-path
标志传递内核源代码的位置。
如何修复此错误?
cuda - Cudamemcpy2d 错误
cudamemcpy2d 返回错误 - 以下是下面代码中的代码,我提到了我遇到错误的行。请查看并帮助我。
请帮忙谢谢
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.
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.
ubuntu - CUDA交叉编译错误!cuda-gdb 错误消息 RSEG1058
我是这个 CUDA 和并行计算人员的新手,我最近遇到了一个问题。我有一个 Ubuntu 12.04 系统,它是主机,Jetson TK1 作为目标。我正在使用 Nsight Eclipse 来编写、编辑和编译算法。我正在使用 SSH 协议从主机连接 TK1。
当我尝试一些文件传输操作时,它总是可以的。但是,有时交叉编译过程很糟糕并且错误“连接到 ubuntu@192.168.0.94 已取消”,标题为“RSEG1058”。我不明白这个问题,因为这个问题发生在 75% 的时间里。有时它工作得很好。你能帮我吗?如果需要,我可以提供其他信息。顺便说一句,我还发现了另一个可能有问题的细节。当我尝试从“运行”按钮附近的箭头中的“运行配置”选项更改运行配置时,我发现我们可以更改最初设置的库和工具包路径。我在该窗口中看到的是 cuda-gdb 文件有一个带有“操作失败。文件系统输入或输出错误”消息的红十字图标。您可以看到图像并理解我在说什么。我不知道这两件事是否相关,但我厌倦了一直试图抓住完美的时机。
torch - 脚本仅在 cuda-memcheck 中运行时有效
我正在使用 torch 和 cudnn 编写一个 convnet 并且有一些内存问题。我尝试使用 cuda-memcheck 调试脚本只是注意到它在通过 cuda-memcheck 馈送时实际运行(尽管比它应该慢)。
事实证明,如果 cuda-memcheck 在后台运行,脚本本身的单独实例也可以正常运行。
知道这里可能会发生什么吗?
memory-management - cudaMemcpy() 使用 Type** 时会出现段错误
我想将一个双指针对象复制到主机并在 GPU 设备上对其进行计算。当对设备执行 cudaMemcpy 时,它会抛出 SEGFAULT。
现在下面的行抛出段错误
cuda - cudaDeviceSynchronize 上的非法内存访问
我遇到了一个非常奇怪的错误,即在运行特定大小的 Heat 2D 模拟时出现“非法内存访问”错误,但如果我运行完全相同的模拟,则模拟运行良好,只是元素更少。
增加数组大小会导致此异常是否有原因?我使用的是 Titan Black GPU(6 GB 内存),但我运行的模拟远不及那个大小。我计算出我可以运行 4000 x 4000 的模拟,但如果超过 250 x 250,我会得到错误。
在我在设备上实例化模拟对象数组后立即发生错误。实例化代码如下:
请假设您看到的任何自定义类型都在工作,因为此代码在足够小的模拟上执行而不会出错。当大小超过 250 x 250 个元素时,内核函数的位置和状态数组中的元素数量似乎会导致错误,这让我感到很沮丧。任何见解都会很棒。
谢谢!
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 次后我无法重现。
exception-handling - cuda 异常后的内存数据状态
CUDA 文档不清楚 CUDA 应用程序抛出异常后内存数据如何变化。
例如,内核启动(动态)遇到异常(例如 Warp Out-of-range Address),当前内核启动将停止。在此之后,设备上的数据(例如 __device__ 变量)是否仍会保留,还是会与异常一起被删除?
一个具体的例子是这样的:
- CPU 启动内核
- 内核将 __device__ variableA 的值更新为 5 然后崩溃
- CPU memcpy 从设备到主机的 variableA 的值,在这种情况下 CPU 得到的值是 5 还是其他?
有人可以说明这背后的理由吗?