Краткое описание проблемы с нулевым результатом SpMV:
Ключевая проблема заключается в том, что rocsparse_dcsrmv возвращает успех, но постоянно дает нулевые результаты (Sum: 0, первые 5 значений y: 0 0 0 0 0), хотя:
- Проверка данных подтверждает существование ненулевых значений:
- Значения CSR проверены на ЦП с ненулевой суммой (-0,00169449)
- Проверка данных графического процессора показывает переданные ненулевые значения (Sum: -1.40768e-06)
- Диагональные и недиагональные коэффициенты действительны и не равны нулю.
- Несколько попыток SpMV не удались:
- Общий матричный тест (без анализа): возвращает нули
- Масштабированный матричный тест (×1e6): все равно возвращается нули
- Тест симметричной матрицы: также возвращает нули
- Однако операции графического процессора работают и в других местах:
- Операции с вектором тяги проходят тесты
- Вычисления скалярного произведения работают правильно
- Передача данных графического процессора завершается успешно
Ключевой вопрос: существует ли известная проблема с rocsparse_dcsrmv при использовании:
- маленьких значений матрицы (диапазон от 1e-6 до 1e-8)?
- Особая структура матрицы (симметричная, но сохраненная с полным шаблоном)?
- Определенное выравнивание данных или шаблоны доступа к памяти?
Pout
Подробнее здесь: https://stackoverflow.com/questions/798 ... ero-result
Мобильная версия