используйте mkl_sparse _? _ mm с форматом COO, но верните «недопустимое значение» - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь использовать MKL для некоторых тестов sprase matrix-matrix. Интерфейс mkl_sparse _? _ Мм. Согласно do c, он должен поддерживать все форматы с конфигурациями SPARSE_INDEX_BASE_ONE и SPARSE_LAYOUT_COLUMN_MAJOR разреженной матрицы.

Но он всегда возвращает ошибку из "invalid value", когда я установил descr с SPARSE_MATRIX_TYPE_TR I ANGULAR. Кто-нибудь знает почему?

Моя признательность.

Вот несколько кодов C.

sparse_operation_t transA = SPARSE_OPERATION_NON_TRANSPOSE;
sparse_layout_t layout = SPARSE_LAYOUT_COLUMN_MAJOR;
sparse_index_base_t indexing = SPARSE_INDEX_BASE_ONE;
struct matrix_descr descr = SPARSE_MATRIX_TYPE_TRIANGULAR;
sparse_matrix_t coo;
mkl_sparse_s_create_coo(&coo, indexing, m, k, nnz, row_index, col_index, values);
mkl_sparse_s_mm(transA, alpha, coo, descr, layout, x, columns, ldx, beta, y, ldy);

1 Ответ

0 голосов
/ 12 августа 2020

Вы можете убедиться, что ваши row_index и col_index фактически основаны на единице, и в вашем случае SPARSE_MATRIX_TYPE_TRI ANGULAR требует m==k.

...