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

Merge upstream #28

Merged
merged 70 commits into from
Nov 7, 2024
Merged

Merge upstream #28

merged 70 commits into from
Nov 7, 2024

Conversation

connorjward
Copy link
Contributor

@connorjward connorjward commented Nov 4, 2024

closes #27

Firedrake CI run: firedrakeproject/firedrake#3851

inducer and others added 30 commits July 18, 2024 10:02
* Be explicit about what args are accepted.
* fetch_insn_id -> prefetch_insn_id
* program -> t_unit
* Changed to update the inames of the instructions that do not access an
  inames, yet, are nested within the iname to be duplicated.
Also drop _git_rev mechanism
inducer/loopy#694

Co-authored-by: Matthias Diener <[email protected]>
Co-authored-by: Andreas Kloeckner <[email protected]>
kaushikcfd and others added 23 commits August 24, 2024 23:37
On Python 3.12, this provokes a stack overflow in the scheduler. It is
not quite clear why that's the case; pure-Python recursion even with
generators seems to respond well to setrecursionlimit():

```py
def f(n):
    if n:
        yield from f(n-1)
    else:
        yield 5

import sys
sys.setrecursionlimit(3500)
print(list(f(3400)))
```

That said, there have been [behavior](python/cpython#96510)
[changes](python/cpython#112215)
in Py3.12 in this regard, but it is not clear what exactly
about Loopy's behavior makes it fall into the 'bad' case.
* Require that happens_after is not mutable

* Tweak type tests for happens_after

---------

Co-authored-by: Andreas Kloeckner <[email protected]>
This restores compatibility with pymbolic 2022.2

x-ref: #27
@connorjward connorjward merged commit 6f02d31 into main Nov 7, 2024
16 of 18 checks passed
@connorjward connorjward deleted the connorjward/merge-upstream branch November 7, 2024 09:30
@ksagiyam
Copy link
Contributor

ksagiyam commented Nov 8, 2024

I think this already broke 3.8 and 3.9; see firedrakeproject/tsfc#327. Shall we just drop 3.8 and 3.9?

@connorjward
Copy link
Contributor Author

I think this already broke 3.8 and 3.9; see firedrakeproject/tsfc#327. Shall we just drop 3.8 and 3.9?

Ah. That's a bit frustrating. I guess so. David said that that was fine this is just happening earlier than I expected.

@connorjward
Copy link
Contributor Author

I will update the website accordingly (and also post to Slack).

@inducer
Copy link
Contributor

inducer commented Nov 8, 2024

Eeek, sorry about that! That was not intentional. Should you want to restore 3.8 compatibility for now, the fix is straightforward. This:

ToShapeLikeConvertible: TypeAlias = (Tuple[ExpressionT | str, ...]
                | ExpressionT | type[auto] | str | tuple[str, ...])

should become:

ToShapeLikeConvertible: TypeAlias = Union[Tuple[Union[ExpressionT, str], ...],
                ExpressionT, type[auto],  str, tuple[str, ...]]

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.

Compatibility with (future) pymbolic 2024.1
7 participants