Currently, I am working a writing a new VTKIO class for writing, in parallel, the vtk file format. I was having trouble with the libMesh VTKIO class, so I am writing my own (I wrote code for another project that does this, so I am just adapting it for libMesh; it will write the file directly, w/o VTK which may be nice, one less dependency to worry about).
Anyway, I started looking at calling partitioning functions when I was running mpiexec and was not getting the results I expected with the processor ids in the Mesh class. So, I thought I must need to partition the mesh. But, I must have a problem with MPI, which I am trying to figure out at the moment by having PETSc compile its own MPI and then make sure libMesh uses it. Write now I am using mpich2 installed with my package manager. Thanks, Andrew On Tue, Nov 13, 2012 at 1:19 PM, Derek Gaston <[email protected]> wrote: > Andrew, > > You shouldn't need to use a partitioner directly... unless you're doing > something funky. Partitioning just happens "automagically" with libMesh > for most use cases. For instance you should be able to run any of the > examples in parallel (using mpiexec) and you'll see the mesh is > automatically partitioned. > > What are you trying to do that would necessitate interacting directly with > a partitioner? > > > On Tue, Nov 13, 2012 at 9:46 AM, Roy Stogner <[email protected]>wrote: > >> >> >> On Tue, 13 Nov 2012, Andrew E Slaughter wrote: >> >> > Thanks for fixing my stupid mistake (3 weeks of classdef's in MATLAB >> > has messed with me). The program now runs but when I run: mpiexec -n >> > 2 I just get the following, which is showing the mesh is not >> > parallel. >> >> Your previous code instantiated a Mesh, which (unless you configured >> with --enable-parmesh) defaults to SerialMesh, in which case you'd >> expect is_serial() to be true. >> >> But you'd still expect it to be partitioned into >> libMesh::n_processors() parts. If you "mpiexec -n 2" and still see >> libMesh::n_processors()==1 then there's something wrong with your MPI >> configuration. Not sure what, though. Could you have linked with one >> version of MPI but then run with mpiexec from a different version? >> >> You might want to use libMesh::out and libMesh::err instead of printf >> to stdout; libMesh uses C++ iostreams internally and sets >> sync_with_stdio(false), which gives a performance gain on some systems >> but which might scramble mixed stdio/iostreams output on others. If >> you can't avoid mixing the two, run your libMesh programs with >> --sync-with-stdio on the command line. >> --- >> Roy >> >> >> ------------------------------------------------------------------------------ >> Monitor your physical, virtual and cloud infrastructure from a single >> web console. Get in-depth insight into apps, servers, databases, vmware, >> SAP, cloud infrastructure, etc. Download 30-day Free Trial. >> Pricing starts from $795 for 25 servers or applications! >> http://p.sf.net/sfu/zoho_dev2dev_nov >> _______________________________________________ >> Libmesh-users mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/libmesh-users >> > > -- Andrew E. Slaughter, PhD [email protected] Materials Process Design and Control Laboratory Sibley School of Mechanical and Aerospace Engineering 169 Frank H. T. Rhodes Hall Cornell University Ithaca, NY 14853-3801 (607) 229-1829 http://aeslaughter.github.com/ ------------------------------------------------------------------------------ Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
