-
Notifications
You must be signed in to change notification settings - Fork 19
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
Transition to arraycontext #56
base: main
Are you sure you want to change the base?
Conversation
As discussed, it seems to make sense to transition from
None of the classes based on |
Yes, I think that's the right approach. The need for this arises mostly within the distributed-memory FMM, which @gaohao95 is working on. (@gaohao95, it would be useful if you could comment!) The point is that this needs tree information on the host to inform the realization of MPI communication, and it needs it on the device to support use of tree data in the translation operators. I think it will be cleaner to have two trees, one host-side, and one device-side, in place of the dual-storage solution at the array level that is currently in place. An alternative would be to have an array context for these host-device arrays, but that seems perhaps more heavyweight than I'd like. A complicating factor is that we do not currently have a numpy array context (cf. inducer/arraycontext#93). |
For global trees, we are already maintaining two copies of trees, one in the device memory and another in the host memory. I think the only place that uses the
I agree we shouldn't do this. |
d9f7872
to
8090d4b
Compare
# Needed for boxtree.tools | ||
- arg: init-hook | ||
val: import sys; sys.setrecursionlimit(2000) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what in boxtree.tools
was overworking pylint
, but it doesn't seem necessary anymore (?).
ab5cde3
to
c9ba4ca
Compare
c9ba4ca
to
627990f
Compare
627990f
to
554a18f
Compare
0b954e3
to
7711246
Compare
7711246
to
591e605
Compare
e6ce7b9
to
fd08060
Compare
b254bc4
to
939f140
Compare
e20af17
to
4978392
Compare
9f52cce
to
9919b0e
Compare
9919b0e
to
9e7f9b2
Compare
Since this is a big breaking change, took the opportunity to remove some things that were marked as deprecated:
FMMTraversalInfo.colleagues_starts
andFMMTraversalInfo.colleagues_lists
filter_target_lists_in_user_order
andfilter_target_lists_in_tree_order
DeviceDataRecord
.TODO:
Go over classes and see how many actually need to store an array context.Array.events
spuriously synchronizes on read-after-read pyopencl#303distributed
is not yet porteddistributed
distributed
withoutImmutableHostDeviceArray
.requirements.txt
back to main