Столкнулся со следующей проблемой: Есть код, написанный не одним человеком, который работает с использованием MPI. В части последовательного кода, было принято сделать распараллеливание при помощи OpenMP. Для этого, в последовательную функцию были добавлены прагмы #pragma openmp. Код был отлажен, и проверен. Распределенный код на MPI - не менялся. Результат работы программы, до и после изменения, полностью совпадает. Но, возникла следующая проблема: код распределенный на MPI стал работать медленнее. Замедление около 10-15%.
Программа собиралась как на компиляторе intel 2013, так и на 2016. MVAPICH-1.2. Запускалась на 32 и 64 потоках. При изменении числа нитей OpenMP до 2, замедление "MPI-кода" - исчезает. Программа написана на С++.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей