【发布时间】:2017-05-05 20:29:06
【问题描述】:
我使用 CUDA 编写了多个代码,并且之前进行了很多分析。
我正在分析的代码现在给了我一个奇怪的对话框 无法分析应用程序。 "正在分析的应用程序返回一个非零返回码"
分析器对于所有带有 CUDA 工具包的示例程序和我的旧程序都可以正常工作。此外,我在同一个文件上尝试了一个旧程序(通过注释我当前的代码并在同一个源文件中复制一个旧文件),令人惊讶的是,探查器运行良好。
注意:代码在构建或调试时运行良好,没有错误。
1200行代码比较难贴,所以只附上头文件
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <cublas_v2.h>
#include "cusparse.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "mkl_lapacke.h"
#include "mkl.h"
#include <string.h>
#include <time.h>
#include <cuda_profiler_api.h>
代码是使用 x64 位项目构建的
【问题讨论】:
-
代码返回非零错误代码。你必须解决这个问题。这不是分析器问题。没有人可以告诉您为什么您的代码仅从标头返回非零错误代码。
-
@RobertCrovella 那么可能是什么错误?代码在命令窗口中正确运行!另外我有一个问题可能来自 cudaprofilerstart 和 stop 范围之外的某些行??
-
应用程序的返回码和错误不是一回事。您需要了解什么是返回码。
-
我发现了问题...当我评论与 lapacke 相关的命令时,我在代码中使用了 lapacke 库,它运行良好(我正在使用 dgetrf 和 dgetri)