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

Persistent hashing for DAGs #547

Closed
inducer opened this issue Sep 21, 2024 · 2 comments
Closed

Persistent hashing for DAGs #547

inducer opened this issue Sep 21, 2024 · 2 comments

Comments

@inducer
Copy link
Owner

inducer commented Sep 21, 2024

This is a follow-up to #546. I sympathize with wanting to hash DAGs persistently, I don't see a good reason why we shouldn't. At the same time, needing to hash data that physically sits on a GPU is weird and fraught with all sorts of complication, as #546 demonstrates.

For a moment, I was tempted to say that we should insist that DataWrappers should only contain data on the host, but that's nonsense, because it'll destroy any type of eager-ish thaw/freeze operation by overwhelming it with data transfer cost of questionable utility. (How to cache those compiles is a separate question; let's have that discussion but maybe not now.)

The main place in which this hashing is relevant is pytato-to-loopy transforms/code generation. I previously assumed this was quick, but recent data from @matthiasdiener and @majosm perhaps suggests otherwise.

So why don't we just introduce a small mapper that transfers all the array data to the host before transforms/codegen and another that transfers them back after? Then, at least in between those two transfers, we can use all the hashing we need.

cc @matthiasdiener @kaushikcfd

@matthiasdiener
Copy link
Collaborator

Now that #459 and inducer/arraycontext#282 have been merged, is there anything else that needs to be done here?

@inducer
Copy link
Owner Author

inducer commented Dec 4, 2024

Nope, I think we're done here. Thanks all!

@inducer inducer closed this as completed Dec 4, 2024
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