Skip to content

Enable arraycontext + lazy evaluation + loop fusion - #196

Draft
a-alveyblanc wants to merge 69 commits into
inducer:mainfrom
a-alveyblanc:actx-fused-kernels
Draft

Enable arraycontext + lazy evaluation + loop fusion#196
a-alveyblanc wants to merge 69 commits into
inducer:mainfrom
a-alveyblanc:actx-fused-kernels

Conversation

@a-alveyblanc

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

Copy link
Copy Markdown

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
Copy Markdown
Collaborator

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

@inducer

inducer commented May 13, 2024

Copy link
Copy Markdown
Owner

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

alexfikl commented May 13, 2024

Copy link
Copy Markdown
Collaborator

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
Copy Markdown
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

3 participants