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

Drop support for eager PyOpenCL #345

Open
inducer opened this issue May 24, 2024 · 4 comments
Open

Drop support for eager PyOpenCL #345

inducer opened this issue May 24, 2024 · 4 comments

Comments

@inducer
Copy link
Owner

inducer commented May 24, 2024

There's so much junk code in grudge that accommodates PyOpenCL's inability to broadcast properly, and I'm kind of over it. Numpy still works for eager debugging, so this shouldn't be a big loss. Any objections?

Depends on:

cc @alexfikl @matthiasdiener @majosm @MTCam @anderson2981 @lukeolson

@matthiasdiener
Copy link
Collaborator

matthiasdiener commented May 24, 2024

No objection, but noting that the numpy support isn't available in the main branches yet, i.e.:

@MTCam
Copy link
Collaborator

MTCam commented May 24, 2024

I'm for it. I think mirgecom will be fine. We exercise all the examples with numpy options.

@anderson2981
Copy link

Is there any benefit to fixing PyOpenCL to support broadcast properly?

@inducer
Copy link
Owner Author

inducer commented May 24, 2024

No objection, but noting that the numpy support isn't available in the main branches yet

Great point. I'm hoping to fix that super soon. I've also added inducer/arraycontext#235 as a dependency.

Is there any benefit to fixing PyOpenCL to support broadcast properly?

I don't think so. PyOpenCL's array type is all hand-coded code generators that are fundamentally limited to 1D. Generalizing them to n dimensions was (part of) the motivation for starting loopy. A loopy-using eager array type could be built, but

  • it would involve scrapping most of the existing code, and
  • it would still be eager, i.e. way too slow for practical use.

I.e. I kind of don't see the point.

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

4 participants