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 и т. Д. И т. Д.)