![]() |
1
1
您可以使用“cuda gdb”调试设备代码,或使用“cuda memcheck”检查内存错误。
我以前没有见过这个错误,也没有看到任何以前的错误报告,所以只能从理论上解释原因。一种可能性是,如果您有一个共享内存变量(“private”子句中的标量或数组,或“cache”指令),它从外部gang循环传递到向量例程。在这种情况下,向量例程可能正在访问变量,就像它在全局内存中一样。
一旦我更好地了解原因,我也可以试着给你找份工作。尽管在此期间,您可以尝试使用“-ta=tesla:nollvm,keepgpu”进行编译。“nollvm”将使编译器生成OpenACC内核的中间CUDA C版本,而不是默认的LLVM设备代码生成器。“keepgpu”将保留中间文件“.gpu”,您可以查看该文件。 |
![]() |
2
0
有一些有助于调试的环境变量。可以启用任何组合:
|
![]() |
SRobertJames · 使用printf的gdb显示 1 年前 |
|
Subin · 在vscode中运行c时出错 1 年前 |
![]() |
Community wiki · 如何调试Python内存故障? 1 年前 |
![]() |
Kai · 有什么方法可以轻松优化VSCode中的锈迹? 2 年前 |
![]() |
Chris Brandon · 如何使节点在堆栈溢出时中断? 2 年前 |