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

Make all executors execute tier 2 instructions (micro-ops) #113860

Open
markshannon opened this issue Jan 9, 2024 · 0 comments
Open

Make all executors execute tier 2 instructions (micro-ops) #113860

markshannon opened this issue Jan 9, 2024 · 0 comments
Labels
interpreter-core (Objects, Python, Grammar, and Parser dirs) performance Performance or resource usage

Comments

@markshannon
Copy link
Member

markshannon commented Jan 9, 2024

Our plan proposes that we either execute all tier 2 code in the tier 2 interpreter or by jitting the code

However, our current executor interface allows calls to arbitrary function pointers.
We should remove that interface, requiring all optimizers to produce tier 2 micro-ops, which the VM is responsible for executing.

This will prevent low-level JITs like Cinder from using executors, but Cinder uses PyFunction_SetVectorcall to insert machine code anyway.
Higher level JITs like PyTorch dynamo, can potentially still use executors, as they provide a more powerful and flexible interface than PEP 523.

Linked PRs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
interpreter-core (Objects, Python, Grammar, and Parser dirs) performance Performance or resource usage
Projects
None yet
Development

No branches or pull requests

1 participant