#thread-safety #mpi #intel-mkl #pardiso
#потокобезопасность #mpi #intel-mkl #pardiso
Вопрос:
В настоящее время я использую библиотеку Intel MKL для решения линейной системы.
Насколько я знаю, библиотека Intel MKl не поддерживает распараллеливание MPI.
- Ранее
- У меня есть одна большая целевая система для вычисления => таким образом, создается одна большая линейная система для решения
- Я планирую
- Разделить большую систему на части (для каждого процесса MPI) => построить несколько небольших линейных систем (независимых друг от друга) для решения
Это отличается от того, что обычно делают параллельные решатели (распределяют «одну» большую матрицу по процессам MPI). У меня будет несколько независимых небольших матриц, и я сделаю так, чтобы процессы MPI решали их независимо.
Мой вопрос в том, можно ли использовать решатель Intel MKL Pardiso таким образом (вызывается одновременно из нескольких процессов MPI для решения независимых проблем)?
Я добавляю картинку, чтобы описать то, что я собираюсь сделать, более понятным способом.
Ответ №1:
Текущая версия MKL предоставляет кластерную версию Intel MKL Pardiso ( cluster_sparse_solver). Вы можете проверить ссылку на ссылку MKL, следуя link:https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-c/top/sparse-solver-routines/parallel-direct-sparse-solver-for-clusters-interface.html.