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

Enable arraycontext + lazy evaluation + loop fusion #196

Draft
wants to merge 69 commits into
base: main
Choose a base branch
from

Conversation

a-alveyblanc
Copy link

@a-alveyblanc a-alveyblanc commented May 12, 2024

Initial work toward enabling lazy evaluation and compilation. Builds on #139.

A fair amount of work is left to be done. For example:

  • Tests need to run with PytatoPyOpenCLArrayContext
  • Compilation needs to work
    • Change/remove the use of "views" of arrays
    • Change in-place updating of arrays (probably in a much more principled way than what's been done so far)
  • Implement transformations, e.g. loop fusion (maybe this is best done in another PR after lazy + compilation are working)
  • Outstanding TODOs from Transition to arraycontext #139

The list above is not exhaustive. The work so far has been toward enabling PytatoPyOpenCLArrayContext and PyOpenCLArrayContext to be valid options. However, compilation does not work.

@alexfikl
Copy link
Contributor

Having worked on #139.. Yeah, there's still a lot of work to get sumpy working nicely with arraycontext 😢

@inducer
Copy link
Owner

inducer commented May 13, 2024

Thanks for getting the work on this started. I agree that it's a big job, we'll get it done with time. I suspect we should only keep one of #139 and this. Any thoughts?

@alexfikl
Copy link
Contributor

alexfikl commented May 13, 2024

Thanks for getting the work on this started. I agree that it's a big job, we'll get it done with time. I suspect we should only keep one of #139 and this. Any thoughts?

Maybe we can make a branch with #139 in the main repository (instead of my fork) and we can work on top of that? Otherwise, I agree with getting the porting to arraycontext in first before trying to use pytato.

@a-alveyblanc
Copy link
Author

Maybe we can make a branch with #139 in the main repository (instead of my fork) and we can work on top of that?

I think something like this makes the most sense.

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.

3 participants