[Gmsh] upgrading GmshClient to onelab

Christophe Geuzaine cgeuzaine at ulg.ac.be
Fri Apr 25 22:07:43 CEST 2014


On 25 Apr 2014, at 21:34, Nigel Nunn <nnnunnn at gmail.com> wrote:

> On 09 Jul 2013, at 10:34, Christophe Geuzaine <cgeuzaine at ulg.ac.be> wrote:
> 
> > Hi Nigel - Have a look at utils/solvers/c++ and utils/solvers/python in SVN.
> 
> Dear Christophe,
> 
> Thanks for the hint!  I used /utils/solvers/c++/pend.cpp as an example for interacting with ONELAB, added some code to handle MPI launch commands, and everything is working even better than before  :-)
> 
> For our MPI+GPU solvers, it's important to be able to [Pause] and inspect a simulation, so I added a [Pause] button.  This uses the process id returned from MPI proc[0] (during /Action = "initialize") to pause that particular process, which just happens to pause all the MPI procs at the next MPI barrier.
> 
> Since my code to make this work (on Win x64) is a bit of a hack, I wonder if any of your getDP or ONELAB collaborators have set up a more ONELAB-standard [Pause] mechanism?

Why not just creating a onelab variable for pausing? Attached is my first try in python:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pend.py
Type: text/x-python-script
Size: 4056 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20140425/ae03e013/attachment.py>
-------------- next part --------------




> thanks for all the splendid work!
> 
> Nigel
> 
> 
> 
> On 07 May 2013, at 00:55, Nigel Nunn <nnnunnn at gmail.com> wrote:
> 
> > Hi Gmsh,
> > 
> > Sometime before the onelab update, I used GmshClient  (from old
> > GmshSocket.h) to drive our family of mpi gpu accelerated solvers
> > (discontinuous Galerkin).  I hooked up a pause button to manage the
> > mpi fleet, and a few parameters for adjusting runtime results passed
> > back to Gmsh.
> > 
> > After looking at the classes in [gmsh/contrib/onelab] and
> > [gmsh/projects/onelab, and the way getdp uses onelab, I am not sure
> > how to begin upgrading from GmshSocket to onelab.  Can someone please
> > suggest which of the classes derived from onelab client would do?
> > First stage is to reproduce what we had with GmshClient :  get Gmsh to
> > query our solver (mpi proc [0]) for parameters, then launch, pause and
> > stop a simulation using 4 gpus on a single node (dual Xeon).
> > 
> > runGmshClient() from [gmsh/Common/onelabUtils.cpp] sounds promising,
> > but which client?
> >
> 
> Hi Nigel - Have a look at utils/solvers/c++ and utils/solvers/python in SVN.
> 
> 
> > thanks for any help!
> > Nigel
> > 
> > _______________________________________________
> > gmsh mailing list
> > gmsh at geuz.org
> > http://www.geuz.org/mailman/listinfo/gmsh
> 
> -- 
> Prof. Christophe Geuzaine
> University of Liege, Electrical Engineering and Computer Science
> 
> http://www.montefiore.ulg.ac.be/~geuzaine
> 

-- 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine