METIS
METIS copied to clipboard
Merge changes from PETSc repository
Thanks for creating this repository.
Before this, people from PETSc project maintained their own in https://bitbucket.org/petsc/pkg-metis/. We should review the changes they made and incorporate them here.
cc @prj- @balay @dalcinl
Sounds like a good idea, pkg-metis
, from PETSc, includes a bunch of Valgrind fixes as well as portability fixes on some architectures, e.g., MinGW. I guess we won't be able to track this repository as long as these fixes are not merged upstream.
My fixes related to the use of the random number generator have been extremely useful in production for getting reproducible partitions in parallel runs.
You can PR the changes and I'll incorporate them.
@prj- I'll start by submitting a PR with my random number generator fixes. These should go to the GKLib repo.
@karypis I do not see any repository for ParMETIS. Is that intentional?
Great. Regarding ParMetis, I'll try to do it before the summer is out.
I am trying to update MeTiS/ParMeTiS with PETSC and MFEM. Couple of things came out:
- Petsc expects GKLib not as separate library, but build in together with MeTiS, as it was before. I actually fixed this in my version of CMake for MeTiS (if interested - I could share my changes). I modified CMakesList.txt to enable building directly using CMake.
- #define IDXTYPEWIDTH 32 and #define REALTYPEWIDTH 32 are commented out in metis.h. Nether MFEM or PETSC currently define these, which causes failure (as these undefined). Instead of commenting out, I would rather do: #ifndef IDXTYPEWIDTH #define IDXTYPEWIDTH 32 #endif // IDXTYPEWIDTH
#ifndef REALTYPEWIDTH #define REALTYPEWIDTH 32 #endif // REALTYPEWIDTH
In metis.h. Alternatively, one needs to define these. I did make these changes in MFEM - which was straightforward, as it is using CMAKE directly. PETSC is more complicated. I informed PETSC about this...