У меня есть относительно большая программа на C ++, которая выполняет динамическое выделение памяти (размер и структура вычисляются во время выполнения; все указатели внизу).
Программа смущающе параллельна, и OpenMP увеличивает скорость до 1004 *, вплоть до точки.Однако я обнаружил, что запуск однопоточных двоичных файлов и их синхронизация через файловую систему выполняется быстрее и замедляется по мере увеличения числа используемых ядер.
Существует ли интуитивная причина, по которой это может произойти?(извините, у меня нет фрагмента кода.)
Спасибо!