Проблема, с которой я столкнулся, заключается M Попытка решить очень большую разреженную матрицу (AX = B с A: 10K * 10K Size), используя факторную часть LU, и она занимает возраст. Я заметил, что использовался только 1 нить ядра процессора, а графический процессор вообще не. p>
Код: Выделить всё
Control.UseMultiThreading()
Control.TryUseNativeCUDA();
< /code>
Я также установил mathnet.numerics.mkl.win-x64, хотя я не уверен, что он делает, но это не помогло. Мне не удалось, чтобы библиотека использовала несколько CPU Core или GPU. Нужна ли мне дополнительный пакет или конфигурация? Любое указание было бы очень оценено, спасибо.
[*] версия Mathnet 5.00
[*] nvidia rtx 3090
[b] edit [/b]
после установки mathnet.numerics.mkl.win-x64 мне пришлось проверить флажок LoadonStartup на DLL во время выполнения упаковка. Теперь при вызове control.tryusenativemkl () Я проверил, было ли мое ядро доступно с Control.maxDegreeOfParallelism и он вернулся 32, как и ожидалось. Из документов, кажется, алгоритм еще не оптимизирован для разреженной матрицы. Факторизация LU и, используя прямой решатель, я попытался использовать итеративный решатель для разреженной матрицы, хотя результат кажется правильным, он по -прежнему не использует несколько ядра моего процессора. Я постараюсь дальше исследовать.
Подробнее здесь: https://stackoverflow.com/questions/794 ... ance-issue