首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统一内存分析失败

统一内存分析失败
EN

Stack Overflow用户
提问于 2016-10-10 16:24:58
回答 3查看 7.4K关注 0票数 17

我正在Ubuntu16.04上尝试分析cuda代码,它有Cuda 8.0,但是它返回“无法配置应用程序。统一内存分析失败”。我尝试过从终端和Nisght Eclipe进行分析。代码正在编译和运行,但无法对代码进行分析。

密码-

代码语言:javascript
复制
cusparseHandle_t handle;
cusparseCreate(&handle);
cusparseSafeCall(cusparseCreate(&handle));

//set the parameters
const int n_i = 10;
const int d = 18;
const int n_t = 40;
const int n_tau = 2;
const int n_k = 10;

float *data = generate_matrix3_1(d, n_i, n_t);
//float* data = get_data1(d, n_i,n_t);
float* a = generate_matrix3_1(n_i,n_k,n_tau);
float* b = sparse_generate_matrix1(n_k,d,0.5);
float* c = sparse_generate_matrix1(n_k,d,0.5);

float* previous_a = generate_matrix3_1(n_i,n_k,n_tau);
float* previous_b = sparse_generate_matrix1(n_k,d,0.1);
float* previous_c = sparse_generate_matrix1(n_k,d,0.1);

// calculate norm of data
float norm_data = 0;
for (int i = 0; i < n_i; i++)
{
    for (int t = n_tau; t < n_t; t++)
    {
        for (int p = 0; p < d; p++)
        {
            norm_data = norm_data + ((data[p*n_i*n_t + i*n_t + t])*(data[p*n_i*n_t + i*n_t + t]));
        }
    }
}

// set lambda and gamma parameter
float lambda = 0.0001;
float gamma_a = 2;
float gamma_b = 3;
float gamma_c = 4;

float updated_t = 1;
float updated_t1 = 0;

float rel_error = 0;
int loop = 1;
float objective = 0;

// create sparse format for the data
float **h_data = new float*[1];
int **h_data_RowIndices = new int*[1];
int **h_data_ColIndices = new int*[1];
int nnz_data = create_sparse_MY(data,d,n_i*n_t,h_data,h_data_RowIndices,h_data_ColIndices);

// transfer sparse data to device memory
int *d_data_RowIndices;  (cudaMalloc(&d_data_RowIndices, (d+1) * sizeof(int)));
(cudaMemcpy(d_data_RowIndices, h_data_RowIndices[0], (d+1) * sizeof(int), cudaMemcpyHostToDevice));
int *d_data_ColIndices;  (cudaMalloc(&d_data_ColIndices, nnz_data * sizeof(int)));
(cudaMemcpy(d_data_ColIndices, h_data_ColIndices[0], (nnz_data) * sizeof(int), cudaMemcpyHostToDevice));

命令编译代码-

nvcc -lcusparse main.cu -o hello.out

侧写-

-o教授/hello.out

错误-

==13621== NVPROF正在分析过程13621,命令:./hello.out ========错误:统一内存分析失败。

有人能帮我吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-27 14:51:26

有同样的误导性错误,只需使用根权限运行分析器,例如sudo nvprofsudo nvvp

票数 26
EN

Stack Overflow用户

发布于 2017-07-12 08:46:27

我也犯了同样的错误。但是,即使我添加了sudo特权,错误仍然存在。终端返回sudo: nvprof: command not found

试试这个命令,它对我有用。nvprof --unified-memory-profiling off /hello.out

票数 12
EN

Stack Overflow用户

发布于 2018-06-17 10:52:35

您不需要根访问来修复这个问题。由于您使用的是Cuda 8.0,这应该是可行的。问题在于“iBUS”配置。您所要做的就是删除文件夹/home/user/..config/ibus/bus,问题就会消失。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39962675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档