Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

empty partition in Zoltan_integration.F90 #386

Open
xiangbei007 opened this issue Jul 15, 2024 · 3 comments
Open

empty partition in Zoltan_integration.F90 #386

xiangbei007 opened this issue Jul 15, 2024 · 3 comments

Comments

@xiangbei007
Copy link

When I run the backward_facing_step_3d example and set NPROCS to a value greater than 128 and run the program on two nodes using make run, I encounter empty partitions, which cause the program to terminate. This occurs regardless of whether I use the graph partitioning algorithm parmetis or the hypergraph partitioning algorithm PHG.

In summary, I would like to ask for suggestions on how to improve the scalability of the program, meaning how to prevent zoltan_load_balance function from generating empty partitions when the number of processes is increased.

@jhill1
Copy link
Member

jhill1 commented Jul 15, 2024 via email

@xiangbei007
Copy link
Author

Thank you for your reply.

Do you mean that the occurrence of empty partitions is not related to the algorithm of the partitioner? I mean, for the BFS-3D example, the input file does not specify the partitioner, and the default is used, which is zoltan_graph + phg+ PARTITION. In this case, it can only run on 128 processors. However, when I specify the partitioner in the backward_facing_step3d.flml file, which is HYPERGRAPH + PHG + REPARTITION, fluidity can run on 1024 processors, a total of 16 nodes. However, when the processors increase to 2048, fluidity will still abort. When I switched to PARMETIS, the performance was not as good as HYPERGRAPH + PHG. The graph partitioning algorithms used by parmetis and PHG are both multilevel graph partition methods.

My previous thought was that there was a problem with fluidity when it called zoltan for load balancing, which would result in empty partitions. So I would like to ask if anyone is familiar with this part and can tell me the suggestions about how to fix this problem. Because the intuitive feeling is that after graph partitioning, each part will have at least some vertices.Even in the case of load imbalance, it should not result in empty partitions.

My current work is to run fluidity on a large number of processors, even more than 10,000 processors. The current work is stuck at the zoltan_load_balance generating empty partition part. I would like to ask if you have any suggestions.

Thank you very much.

@jhill1
Copy link
Member

jhill1 commented Jul 15, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants