Tôi đang cố gắng để cấu hình mã cuda trên Ubuntu 16.04 có Cuda 8.0 nhưng nó trở về "Không thể ứng dụng hồ sơ. Cấu hình bộ nhớ hợp nhất không thành công". Tôi đã cố gắng profiling từ thiết bị đầu cuối và cũng từ Nisght Eclipe. Mã được biên dịch và chạy nhưng không thể nhận được hồ sơ.Cấu hình bộ nhớ hợp nhất không thành công
số-
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));
lệnh để compile số-
nvcc -lcusparse main.cu -o hello.out
Profiling-
nvprof -o prof ./ hello.out
Lỗi-
== 13621 == NVPROF là quá trình lược tả 13621, lệnh: ./hello.out ======== Lỗi: lược tả bộ nhớ hợp nhất không thành công.
Ai đó có thể giúp tôi không?
Vui lòng cung cấp trường hợp kiểm tra hoàn chỉnh ngắn. Chương trình bạn đang cố gắng để hồ sơ, làm thế nào bạn biên dịch nó, lệnh đầy đủ bạn sử dụng để cấu hình nó, và thông báo đầu ra đầy đủ. –
Cập nhật câu hỏi –