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

Add an inference option to ignore the recursion hardlimit #48944

Merged
merged 1 commit into from
Mar 8, 2023

Conversation

Keno
Copy link
Member

@Keno Keno commented Mar 8, 2023

We currently very aggressively limit recursion if we came from a union split. The reason for this choice is to avoid accidental exponential inference times from excessive exploration of the call graph. Unfortunately, certain packages like Diffractor really like triggering the recursion heuristic at the moment, causing any unions to immediately cause imprecise inference. In the fullness of time, we should improve the recursion heuristic to do better in this case, but for the time being, add an inference option that simply lets it ignore the hardlimit recursion case and proceed anyway.

We currently very aggressively limit recursion if we came from
a union split. The reason for this choice is to avoid accidental
exponential inference times from excessive exploration of the call
graph. Unfortunately, certain packages like Diffractor really like
triggering the recursion heuristic at the moment, causing any unions
to immediately cause imprecise inference. In the fullness of time,
we should improve the recursion heuristic to do better in this case,
but for the time being, add an inference option that simply lets
it ignore the hardlimit recursion case and proceed anyway.
@staticfloat staticfloat merged commit 9b8d778 into master Mar 8, 2023
@staticfloat staticfloat deleted the kf/hardlimitoption branch March 8, 2023 15:46
@vtjnash
Copy link
Member

vtjnash commented Mar 8, 2023

SGTM. Though I would suggest that packages should never blindly opt all users into this, but only applications might be given the option to specifically bypass it for specific kernels.

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.

4 participants