trilinos / Trilinos

Primary repository for the Trilinos Project
https://trilinos.org/
Other
1.2k stars 564 forks source link

Using zoltan2 to perform hypergraph partitioning #9364

Closed ShijieYan closed 2 years ago

ShijieYan commented 3 years ago

Question

@trilinos/zoltan2

Hello, I am new to this software and I have some questions about zoltan and zoltan2 packages.

  1. Does zoltan2 natively support hypergraph partitioning (_"HYPERGRAPHPACKAGE" : "PHG")? Or does zoltan2 currently rely on the third party libraries (PTScotch, ParMETIS, etc.) to perform hypergraph partitioning?
  2. Specifically, is it possible to exactly implement the example simiplePHG.c (under packages/zoltan/example/C) using the zoltan2 package?

Thank you in advance.

cgcgcg commented 3 years ago

@trilinos/zoltan2

ShijieYan commented 3 years ago

Just to follow up on my own question posted last week: For hypergraph partitioning (using "PHG"), what advantages (performance-wise: speed, memory, etc.) does Zoltan2 have compared to Zoltan? Any help would be much appreciated!

srajama1 commented 3 years ago

@ShijieYan Zoltan2 relies on Zoltan for hypergraph partitioning. It doesn't use TPLs for it. Yes, it should be possible to implement the exact functionality as it is just a call to Zoltan. In terms of hypergraph partitioning there should not be any differences in term of performance between the two interfaces, except one allows our new package based interfaces (Tpetra, Kokkos).

egboman commented 3 years ago

I believe Zoltan2 already supports calling PHG via Zoltan. There might not be any example, but you can look at the source in Zoltan2_AlgZoltan.hpp. @srajama1 is right, it is the same code so exactly the same performance.

ShijieYan commented 3 years ago

@egboman @srajama1 Thank you so much for the clarification!