CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Community Contributions (https://www.cfd-online.com/Forums/openfoam-community-contributions/)
-   -   [PyFoam] pyFoamPlotRunner on network (https://www.cfd-online.com/Forums/openfoam-community-contributions/110358-pyfoamplotrunner-network.html)

PeterX30 December 9, 2012 16:25

pyFoamPlotRunner on network
 
I have used succesfully pyFoam on a single node multi core hardware.
Recently I extended to a small cluster with 3 nodes (8 cores + 12 cores +12 cores with in total 32 cores)
On this 3 node configuration I`m able to run succesfully a parallel job under mpi. Here is an example how I can succesfully start a parallel pimpleFoam run on all nodes:

mpirun --hostfile hosts -np 32 pimpleFoam - parallel

In order to plot on the fly residuals, I used to apply pyFoam. On one node this is working well. Example for the corresponding job (the first node has 8 cores listed in hosts):

pyFoamPlotter.py --machinefile=hosts --proc=8 --progress pimpleFoam

Unfortunately this is not working if I start it on all 3 nodes:

pyFoamPlotter.py --machinefile=hosts --proc=32 --progress pimpleFoam

The general log file in the ~/.pyfoam/log directory contains the following warning:
WARNING Not deregistering, because it seems we were not registered in the first place - in FoamServer.py:511

What is going wrong? I thouht I have defined all required paths on all nodes ... Any idea?

Thank`s a lot for your support.

gschaider December 11, 2012 12:39

Quote:

Originally Posted by PeterX30 (Post 396551)
I have used succesfully pyFoam on a single node multi core hardware.
Recently I extended to a small cluster with 3 nodes (8 cores + 12 cores +12 cores with in total 32 cores)
On this 3 node configuration I`m able to run succesfully a parallel job under mpi. Here is an example how I can succesfully start a parallel pimpleFoam run on all nodes:

mpirun --hostfile hosts -np 32 pimpleFoam - parallel

In order to plot on the fly residuals, I used to apply pyFoam. On one node this is working well. Example for the corresponding job (the first node has 8 cores listed in hosts):

pyFoamPlotter.py --machinefile=hosts --proc=8 --progress pimpleFoam

Unfortunately this is not working if I start it on all 3 nodes:

pyFoamPlotter.py --machinefile=hosts --proc=32 --progress pimpleFoam

The general log file in the ~/.pyfoam/log directory contains the following warning:
WARNING Not deregistering, because it seems we were not registered in the first place - in FoamServer.py:511

What is going wrong? I thouht I have defined all required paths on all nodes ... Any idea?

Thank`s a lot for your support.

That log entry ("not deregistering") isn't the problem. It has to do with something completely different (the Meta-Server. See the "Happy Foaming" presentation from Montreal) which you probably are not using.

@pyFoamPlotter.py: you mean pyFoamPlotRunner.py, right?

Anyway: that happens after you start the run on the cluster (as I said: the log-entry is not the problem)?

BTW: Usually if you specify a machinefile then PyFoam should calculate the -np automatically

For calculations on a cluster I usually recommend to write output to a logfile (either with pyFoamRunner.py or a simple redirect) and then using pyFoamPlotWatcher.py on that output. That way the running of the solver is detached from the display

PeterX30 December 12, 2012 15:28

@pyFoamPlotter.py: you mean pyFoamPlotRunner.py, right?

Off course, a typo. I mean pyFoamPlotRunner.py as stated in the title of the thread.

I checked your proposal and this works fine on the fly when I start "pyFoamPlotWatcher.py logfile"
on a second terminal accessing the corresponding logfile. Thank's a lot!!!:)


All times are GMT -4. The time now is 13:17.