Библиотеки для параллельного распределённого холесского разложения в c / c ++ в среде mpi?

Какие библиотеки доступны для параллельного распределенного холесского разложения плотных матриц в C / C ++ в среде mpi?

Я нашел библиотеку ScaLAPACK, и это может быть решением, которое я ищу. Кажется, что это немного неудобно, хотя, много Fortran <-> С преобразования, чтобы сделать, что заставляет меня думать, что, возможно, он не используется широко, и, следовательно, может быть, есть некоторые другие библиотеки, которые используются вместо?

В качестве альтернативы, существуют ли обертки для ScaLAPACK, которые делают его относительно не слишком болезненным для использования в среде C или C ++, когда кто-то уже использует MPI, а MPI уже инициализирован в программе?

2

Решение

Это плотные или разреженные матрицы?

Trilinos огромная библиотека для параллельных научных вычислений. Подпакет Amesos может ссылаться на ScaLAPACK для параллельного, прямого решения плотных систем и UMFPACK, SuperLU или же MUMPS для разреженных систем. Trilinos в основном на C ++, но есть привязки Python, если вам нравится. Это может быть излишним, но это сделает работу.

1

Другие решения

Intel MKL также может быть выбором, так как он вызывает ScaLAPACK внутри. Обратите внимание, что Intel поддерживает использование этой библиотеки студентами, но в этом случае вам придется использовать версию MPI с открытым исходным кодом. Также форум Intel очень полезен.


стихийный также вариант, написанный на C ++, который, безусловно, является большим преимуществом, когда вы хотите интегрироваться с вашим C / C ++ приложением и руководителем проекта, Джек Полсон очень дружелюбен и очень помогает.


OpenBLAS, SuperLU а также PETSc также интересно, и вы можете прочитать больше в моем ответ.

1

По вопросам рекламы [email protected]