Hello,

I am looking for the piece of MPI/ParMetis code that distribute the Tetrahedral Mesh
over the processors  and also the associated unknown to "update".
Please note that I am looking for the low level ones coded in Libmesh and not
the high level ones.

Could you please let me know where I could find those ?

Thank you very much for your help

Tahar

--------------------------------------------
T. Amari
Centre de Physique Theorique
Ecole Polytechnique
91128 Palaiseau Cedex France
tel : 33 1 69 33 47 53
fax: 33 1 69 33 30 08
email: <mailto:[EMAIL PROTECTED]>
URL : http://www.cpht.polytechnique.fr/cpht/amari

Le 18 nov. 07 à 14:32, Benjamin Kirk a écrit :

You can't mix stdio.h (which I think g++ uses internally) with
MPICH2's C++ bindings, because for some reason the MPI-2 C++ binding
reuses macro names from the C standard.  We used to have a workaround
for this in libMesh, but it caused its own problems, so since we only
use the MPI C bindings anyway we now only link against MPICH with C++
bindings turned off.

Yeah -- Unfortunately, the MPI C++ interface is really not very useful. It puts everything in an MPI namespace, but that is about it. Besides, we use PETSc/Parmetis,both of which require MPI_*** in the global namespace anyway.

I prefer using the C API wrapped as it is in Parallel:: anyway - I think Roy's use of templates and function overloading here is much more useful
than the C++ MPI interface.  Also, since the C++ ABI is not entirely
standard, using the C++ MPI ivterface would likely further limit the choice
of compilers when using e.g. Vendor-supplied MPI on supercomputers.

Because ICES keeps f77 around linked to g77 from gcc 3.2, the libMesh
configure script tries to link using library paths from the old
version of gcc; this confuses the linker when called from g++:
"warning: libstdc++.so.6, needed by
/ices/roystgnr/software/libmesh/lib/x86_64-unknown-linux-gnu_dbg/ libmesh.so,
may conflict with libstdc++.so.5"  Telling configure to use the newer
gfortran instead fixed this.

I'd say the f77/gfortran confusion counts as a bug in our configure
scripts, but I'm not sure what we could do to fix it other than detect and error out when we saw such a version conflict. Hopefully we won't
have too many people trying to install on systems where the default C
compiler is GCC4 and the default Fortran compiler is GCC3.

This one is a little touchy and has been an issue for a while... The crux
of the problem is that we check for 'AC_PROG_F77' which checks for a
Fortran-77 capable compiler. Since PETSc only requires Fortran-77 support this is the right thing to do, since libMesh only needs to be capable of linking to f77 programs. ./configure searches for a number of compilers in this case, and it looks for g77 before gfortran. Again, this is the right
thing to do.

'AC_PROG_FC' is one solution, but this looks for a Fortran-90+ compiler
which we really don't need.

Since this is pretty gcc/g77 specific, we should be able to detect a gcc/g77
version mismatch, look for gfortran, and then abort if unsuccessful.

-Ben


---------------------------------------------------------------------- ---
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to