[petsc-dev] Parmetis / Metis changes

Sean Farley sean at mcs.anl.gov
Fri Nov 18 19:25:56 CST 2011


I've just pushed some changes that update parmetis to newest revision, and
this has some consequences on packages that depend on parmetis.

Parmetis now depends on metis, and both can use 64-bit integers. This
required an update to SuperLU_DIST to use this new interface which can now
use 64-bit integers everywhere. Also, MUMPS needed to be updated (but is
not 64-bit). All of these are available with --download-packagename
(BuildSystem is always an adventure!). Patches are available upon request
but I hope that the code maintainers accept them (I've sent them to their
respective authors).

CHOLMOD needed updating too, but that isn't available as a
--download-cholmod because it will be refactored into
--download-suitesparse. Tim has graciously posted my patch on CHOLMOD's
website:

http://www.cise.ufl.edu/research/sparse/cholmod/

People that use sieve will need to rebuild as well since Matt uses parmetis
directly. Potentially, sieve could work with 64-bit integers now, but I
tried to go through sieve ... and then ran screaming in terror. I think I
may have tripped on the bones of the last intrepid adventurer who ventured
into sieve. It's hairy. At the very least, triangle and tetgen will have to
be updated. Matt might also want to look at updating the other mesh
partitioners (zoltan, hmetis, chaco, etc.)

If you use any of these packages, I recommend deleting your PETSC_ARCH and
externalpackages directories, and re-running configure.

I tested each of the situations:

Matrix partitioning:

$ cd src/mat/examples/tutorials
$ make ex15
$ ./ex15 -mat_partitioning_type parmetis

SuperLU_DIST (w/ metis):

$ cd src/ksp/ksp/examples/tutorials
$ make ex15
$ ./ex15 -pc_type lu -pc_factor_mat_solver_package superlu_dist -ksp_view

SuperLU_DIST (w/ parmetis):

$ cd src/ksp/ksp/examples/tutorials
$ make ex15
$ mpiexec -n 2 ./ex15 -pc_type lu -pc_factor_mat_solver_package
superlu_dist -ksp_view -mat_superlu_dist_matinput DISTRIBUTED
-mat_superlu_dist_colperm PARMETIS

MUMPS (w/ metis):

$ cd src/ksp/ksp/examples/tutorials
$ make ex15
$ /ex15 -pc_type lu -pc_factor_mat_solver_package mumps -ksp_view
-mat_mumps_icntl_7 5

MUMPS (w/ parmetis):

$ cd src/ksp/ksp/examples/tutorials
$ make ex15
$ mpiexec -n 2 ./ex15 -pc_type lu -pc_factor_mat_solver_package mumps
-ksp_view -mat_mumps_icntl_28 2 -mat_mumps_icntl_29 2

I tried to do my best with testing, but I'm sure I missed something. Please
let me know if there are any problems.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111118/2385fe73/attachment.html>


More information about the petsc-dev mailing list