-
Notifications
You must be signed in to change notification settings - Fork 19
Transition to arraycontext #56
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
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
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
b6b4506 to
e93a609
Compare
87ee68a to
6cd221b
Compare
6cd221b to
4f83124
Compare
4f83124 to
dc5a711
Compare
Since this is a big breaking change, took the opportunity to remove some things that were marked as deprecated:
FMMTraversalInfo.colleagues_startsandFMMTraversalInfo.colleagues_listsfilter_target_lists_in_user_orderandfilter_target_lists_in_tree_orderDeviceDataRecord.TODO:
Go over classes and see how many actually need to store an array context.NeedsShould be able to do without this.Array.eventsspuriously synchronizes on read-after-read pyopencl#303distributedis not yet porteddistributeddistributedwithoutImmutableHostDeviceArray.requirements.txtback to mainbaseline.jsonuntil this is ready to go it (it's a pain to resolve conflicts).