title: Unified Memory profiling failed
body: <p>I am trying to profile cuda code on Ubuntu 16.04 having Cuda 8.0 but it is returning "Unable to profile application. Unified Memory profiling failed". I tried profiling from terminal and also from Nisght Eclipe. Code is compiling and running but not is not able to get profiled.</p>
  
  <p>Code-</p>
  
  <pre><code>cusparseHandle_t handle;
  cusparseCreate(&amp;handle);
  cusparseSafeCall(cusparseCreate(&amp;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 &lt; n_i; i++)
  {
      for (int t = n_tau; t &lt; n_t; t++)
      {
          for (int p = 0; p &lt; 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(&amp;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(&amp;d_data_ColIndices, nnz_data * sizeof(int)));
  (cudaMemcpy(d_data_ColIndices, h_data_ColIndices[0], (nnz_data) * sizeof(int), cudaMemcpyHostToDevice));
  </code></pre>
  
  <p>Command for compiling the code-</p>
  
  <p>nvcc -lcusparse main.cu -o hello.out</p>
  
  <p>Profiling-</p>
  
  <p>nvprof -o prof ./hello.out </p>
  
  <p>Error-</p>
  
  <p>==13621== NVPROF is profiling process 13621, command: ./hello.out
  ======== Error: unified memory profiling failed.</p>
  
  <p>Can someone help me with it?</p>