METIS icon indicating copy to clipboard operation
METIS copied to clipboard

Merge changes from PETSc repository

Open jtojnar opened this issue 4 years ago • 6 comments

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

jtojnar avatar Mar 10 '20 17:03 jtojnar

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.

prj- avatar Mar 10 '20 17:03 prj-

My fixes related to the use of the random number generator have been extremely useful in production for getting reproducible partitions in parallel runs.

dalcinl avatar Mar 10 '20 17:03 dalcinl

You can PR the changes and I'll incorporate them.

karypis avatar Jul 09 '20 16:07 karypis

@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?

dalcinl avatar Jul 09 '20 17:07 dalcinl

Great. Regarding ParMetis, I'll try to do it before the summer is out.

karypis avatar Jul 09 '20 20:07 karypis

I am trying to update MeTiS/ParMeTiS with PETSC and MFEM. Couple of things came out:

  1. 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.
  2. #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...

nourgaliev avatar May 21 '22 23:05 nourgaliev