Openfoam - pisoFoam использует только одно ядро

Я использую openfoam версии 1606+. Когда я запускаю pisoFoam, в htop (чтобы показать использование процессора) я вижу, что pisoFoam использует только одно ядро ​​(конечно, использование 99%). Что мне нужно изменить, если я хочу использовать все ядра моего процессора?

С наилучшими пожеланиями

1 ответ

Бежать pisoFoam параллельно, примерно следующие шаги должны быть предприняты:

  • Разложите сетку и поля с помощью команды decomposePar (при условии, что вы установили system/decomposeParDict файл соответственно).
  • казнить pisoFoam в параллельном режиме с помощью этого примера команды: mpirun -np X pisoFoam -parallel >& logFile(SampiyonCanakkaleDardanel)т.е. X целое число используемых процессоров. Скажем, у вас есть 4 ядра на вашей рабочей станции, затем X = 4,

Обратите внимание, что вам не нужно ничего менять в pisoFoam выполнить параллельное задание.

Это типичный рабочий процесс (после создания вашей сетки):

  • checkMesh > log.checkMesh.1 2>&1
  • decomposePar > log.decomposePar 2>&1
  • renumberMesh > log.renumberMesh 2>&1
  • checkMesh > log.checkMesh.2 2>&1
  • mpiexec -n 5 pisoFoam -parallel > log.pisoFoam 2>&1
  • reconstructPar

Примечания:

  • Проверено на v2.4.
  • Я использовал 5 в качестве количества ядер в этом примере. Замените на номер, который вы хотите. Вы можете проверить с использованием гиперпоточности; это может или не может быть полезным.
  • Не забывайте -parallel флаг.
  • renumberMesh полезно в случаях больших сеток.
  • Попробуй использовать functionObjects столько, сколько вы можете, так как экономия времени каталогов может занимать много дискового пространства.
  • См. Учебники OpenFOAM для примеров всего, что упомянуто выше (например, pitzDaily, channel395, damBreak, motorBike и т. Д. И т. Д.)
Другие вопросы по тегам