Ошибка сортировки образца CuSolverRf
У меня возникли проблемы с образцом CUSolverRf для решения разреженной матрицы 196530 x 196530 с матрицей 2530239 ннц.
Я еще не пробовал со значениями вектора B (проблема в другой раз), и у меня уже есть ошибка:
Ошибка (проверка сортировки столбца не выполнена): (csrColInd 1= 2)> = (csrColInd [2] = 2)
Ошибка (проверка сортировки столбца не выполнена): (csrColInd[3]=3) = (csrColInd[4]=3)
Ошибка (проверка сортировки столбца не выполнена): (csrColInd[5]=2251) >= (csrColInd[6]=2251)
Ошибка (проверка сортировки столбца не выполнена): (csrColInd[7]=2252) >= (csrColInd[8]=2252)
Ошибка (проверка сортировки столбца не выполнена): (csrColInd[9]=4501) >= (csrColInd[10]=4501)
Я попытался изолировать проблему и, по моему анализу, сузил источник ошибок до процедуры "qsort.c", которая сортирует симметризованный шаблон.
Кто-нибудь, пожалуйста, посоветуйте, что я могу сделать, чтобы преодолеть ошибку?
И примечание: могу ли я и как добавить значения B позже? Спасибо.
Необработанные данные:
196530 196530 2530239
1 1 -26860.49266
2 1 11773.49315
3 1 557.7137436
2251 1 11734.57775
2252 1 2237.629363
4501 1 557.0786545
1 2 11714.30627
2 2 -37958.69476
....
1 ответ
Проанализировал программу построчно и обнаружил, что причина ошибки была в первой строке файла данных:
%%MatrixMarket matrix coordinate real symmetric
Я предположил, что "%%" перед оператором было для компьютера, чтобы игнорировать строку.
Матрица, которую я предоставил, была не симметричной, что вызвало вышеуказанную ошибку. Программа работает, когда слово "симметричный" было заменено на "общее"
Надеюсь, этот урок поможет другим, если они столкнутся с той же проблемой.