inducer / grudge

Grand Unified Discontinuous Galerkin Environment? A DG code in training.
14 stars 17 forks source link

Drop support for eager PyOpenCL #345

Open inducer opened 5 months ago

inducer commented 5 months ago

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 commented 5 months ago

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

MTCam commented 5 months ago

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

anderson2981 commented 5 months ago

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

inducer commented 5 months ago

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 https://github.com/inducer/arraycontext/pull/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

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