Skip to content

feat: [WIP] Find neighbourhood in MPI #295

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

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

sbstndb
Copy link
Contributor

@sbstndb sbstndb commented Mar 20, 2025

WIP do not merge, it is for CI testing.

@sbstndb sbstndb added the enhancement New feature or request label Mar 20, 2025
@sbstndb sbstndb changed the title feat: [WIP]Better neighbour 2 feat: [WIP] Find neighbourhood in MPI Mar 20, 2025
@sbstndb
Copy link
Contributor Author

sbstndb commented Mar 21, 2025

At this point, the neighbourhood construction is working fine.
I have now to construct it in a periodic case.

@sbstndb
Copy link
Contributor Author

sbstndb commented Mar 21, 2025

At this point, I have an issue on Choleski with 32 ranks on advection-2d --min-level 4 or lower (the modified balanced case).
Here is the error :

terminate called after throwing an instance of 'std::out_of_range'
  what():  FIELD ERROR on level 7: try to find interval [30, 31[@0:1

This is because one cell is coarser than its subdomain. I don't think it is related to this PR anyway ...

sbstndb added 11 commits April 1, 2025 16:49
	-	Previously, in multirank MPI, m_cells was empty due to a bad n_cells per subdomains computation
	-	Then I add a specific partitioning for 1D MPI :
		-	We compute the number of cells in the original mesh
		-	Each subdomain get a part of the nb_cells
	-	Not working FOR NOW
	-	We need to reduce the neighbourhood size. Then, we need to construct it based on each subdomain
	-	We construct a first extended nogihbourhood to get all the potential intersection
	-	And then we intersect each subdomain

	-	**BUT**, we need a kind of "expand" feature.
	-	This expand allows us to detect neighbourhood
	-	Nevertheless, maybe a expand of one is not enough.
	-	Previsouly, we use per-level ghost-and-cells
	-	It is not the right method, we need to use subdomain mehs
	-	Then we use translation to operate as an "expand"
	-	This is not really beautiful, it needs more work
	-	Todo :
		-	arbitrary nD
		-	create a new special function
	-	Now we have a dedicated function to find neighbourhood
	-	We can use constexrp here.
@sbstndb sbstndb force-pushed the better_neighbour_2 branch from b7951aa to e0c1237 Compare April 1, 2025 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant