Запуск CuSolverRf sample с образцом .mtx
файлов lap2D_5pt_n100.mtx
и lap3D_7pt_n20.mtx
позволяет программе работать бесперебойно. Однако, когда я вставляю в моем собственном .mtx
файл, я получаю ошибку после шага 8:Ошибка присвоения статуса cuSolverRf
"CUDA ошибки в cuSolverRF.ccp: 649 код = 2 ..."
Я сузили проблему здесь:
checkCudaErrors(cusolverRfSetupHost(
rowsA, nnzA,
h_csrRowPtrA, h_csrColIndA, h_csrValA,
nnzL,
h_csrRowPtrL, h_csrColIndL, h_csrValL,
nnzU,
h_csrRowPtrU, h_csrColIndU, h_csrValU,
h_P,
h_Q,
cusolverRfH));
что бы перейти к
void check(T result, char const *const func, const char *const file, int const line)
{
if (result)
{
fprintf(stderr, "CUDA error at %s:%d code=%d(%s) \"%s\" \n",
file, line, static_cast<unsigned int>(result), _cudaGetErrorEnum(result), func);
DEVICE_RESET
// Make sure we call CUDA Device Reset before exiting
exit(EXIT_FAILURE);
}
}
Мой Qu Как получается «результат»? и что я могу сделать, чтобы преодолеть проблему или что я делаю неправильно?
Дополнительная информация: моя матрица 196530 от 196530 с 2530798 nnz.
Я попробовал освободить, как упоминалось, но это не имело никакого эффекта. На этой ноте, освобождая освобождение от всех значений, хранящихся на графическом процессоре? – ceeely
@ceeely да, но, может быть, у вас есть значения, хранящиеся в памяти GPU, которые вам не нужны для cuSOLVER (т.е. с предыдущего шага) –
Для контекста у меня были подозрения о части памяти памяти GPU, поскольку я использую старый GPU (Nvidia Quadro 4000). Если это причина, угадайте, что настало время для столь необходимого обновления. – ceeely