Numpy array context rebased - #190
Conversation
d2257ef to
03186f4CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
inducer
commented
Aug 1, 2024
Hi all, please take a look, particularly with an eye towards how much you like the direction this is going. It should not break compatibility right now, but it contains some things that will need changing once we remove what's being deprecated now. |
inducer
commented
Aug 1, 2024
Also, sorry about the breakage from my last-minute changes, I'll fix that right away. |
Uh oh!
There was an error while loading. Please reload this page.
alexfikl
left a comment
There was a problem hiding this comment.
Went through the easy parts of this and left a bunch of nitpicks. Will have to look at the arithmetic changes a bit more carefully some other time though.
From the tests, the Bcast syntax seems a bit clunky with all the wrapping. Maybe we can introduce some helper functions?
result = broadcast(operator.op, container1, container2, level_or_actx=1)
? Will ponder a bit 😁
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
alexfikl
commented
Aug 1, 2024
Was just googling around and found a jax pytree version of container math: |
alexfikl
commented
Aug 5, 2024
Following a meeting with @inducer on Friday, he suggested I write down any random thoughts here, so that we can discuss. So here goes before I forget again! My question was mostly related to what broadcasting we actually need to do? The broadcasting implementation here seems to be very general and very flexible (and quite explicit as well). Having experience with the
i.e. all those could be handled (maybe a bit verbosely) without any broadcasting support in What fancier broadcasting would we need to support? I guess |
f278400 to
e1f678aCompare7ac0e4e to
6251b61Compareinducer
commented
Aug 25, 2024
Alright, |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ce9736c to
dfc08cdCompare- Deprecate automatic broadcasting of array context arrays - Warn about uses of numpy array broadcasting, deprecated earlier - Clarify documentation, warning wording
…across who Names suggested by @majosm
This does a fair bit of stuff. The main components are a
numpyarray context and an in-depth rework ofdataclassarraycontainer broadcasting. There is also a tweak to array container serialization ("Container serialization: iterable -> sequence, plus type aliases") that makes the serialized container a sequence and introduces a type alias for it. I've flagged some things that I'm less sure about in a self-review below.The whole thing is probably best read commit-by-commit to avoid mixing changes that belong to different topic areas.
Closes#93
Closes#235
Closes#95
TODO
np.minimum,np.maximummissing?