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

Implement distributed layer potential evaluation #224

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

gaohao95
Copy link
Contributor

@gaohao95 gaohao95 commented Oct 9, 2023

This PR implements the distributed layer potential evaluation using MPI. On the high level, it broadcasts the necessary geometry data from the root rank to the worker rank, and each worker rank constructs a local copy of the geometry data independently.

❗ Depends on inducer/boxtree#93.

Comment on lines +41 to +46
global_traversal: Any
centers: Any
expansion_radii: Any
global_qbx_centers: Any
qbx_center_to_target_box: Any
non_qbx_box_target_lists: Any
center_to_tree_targets: Any
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eventually: improve type annotation

pytential/qbx/distributed.py Show resolved Hide resolved
pytential/qbx/distributed.py Outdated Show resolved Hide resolved
examples/off-surface-eval.py Outdated Show resolved Hide resolved
examples/off-surface-eval.py Outdated Show resolved Hide resolved
Copy link
Owner

@inducer inducer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a 2D and a 3D test.

pytential/qbx/distributed.py Show resolved Hide resolved
fmm_backend=fmm_backend,
**kwargs)
else:
self._use_target_specific_qbx = _use_target_specific_qbx
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Document that this is an internal code path for workers.

pytential/qbx/distributed.py Outdated Show resolved Hide resolved
@gaohao95 gaohao95 changed the title Implement distributed evaluation Implement distributed layer potential evaluation Aug 26, 2024
@@ -8,7 +8,7 @@ git+https://github.com/inducer/modepy.git#egg=modepy
git+https://github.com/inducer/pyopencl.git#egg=pyopencl
git+https://github.com/inducer/islpy.git#egg=islpy
git+https://github.com/inducer/loopy.git#egg=loopy
git+https://github.com/inducer/boxtree.git#egg=boxtree
git+https://github.com/gaohao95/boxtree.git@dist-pytential#egg=boxtree
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be reverted back after inducer/boxtree#93 lands.

@gaohao95 gaohao95 marked this pull request as ready for review August 26, 2024 16:32
@inducer
Copy link
Owner

inducer commented Aug 26, 2024

#239 should get rid of the mypy problems.

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

Successfully merging this pull request may close these issues.

2 participants