ubuntu cuda ubuntu-16.04 nsight

ubuntu - El perfil de memoria unificada falló



cuda ubuntu-16.04 (2)

Estoy tratando de perfilar el código de cuda en Ubuntu 16.04 que tiene Cuda 8.0, pero está devolviendo "No se pudo aplicar el perfil. El perfil de memoria unificada falló". Intenté perfilar desde la terminal y también desde Nisght Eclipe. El código se está compilando y ejecutándose pero no se puede obtener un perfil.

Código-

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));

Comando para compilar el código-

nvcc -lcusparse main.cu -o hello.out

Perfilado-

nvprof -o prof ./hello.out

Error-

== 13621 == NVPROF es el proceso de creación de perfiles 13621, comando: ./hello.out ========= Error: el perfil de memoria unificada ha fallado.

¿Alguien puede ayudarme con eso?


tenía el mismo error engañoso, solo tenía que ejecutar el generador de perfiles con privilegios de administrador, por ejemplo, sudo nvprof o sudo nvvp.


Sufro el mismo error Pero el error permanece incluso si agrego el privilegio de sudo . El terminal devuelve sudo: nvprof: command not found .

Prueba este comando, funciona para mí. nvprof --unified-memory-profiling off /hello.out