-
Notifications
You must be signed in to change notification settings - Fork 26.3k
[inductor] performance model interface #162017
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
Conversation
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
[ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/162017
Note: Links to docs will display an error until the docs builds have been completed. ❌ 33 New FailuresAs of commit 15c0dda with merge base d25c35d ( NEW FAILURES - The following jobs have failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: 30557be
Pull Request resolved: #162017
|
@coconutruben has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
|
@coconutruben has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: d1b6f9b
Pull Request resolved: #162017
|
@coconutruben has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: a313b98
Pull Request resolved: #162017
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: 1e45804
Pull Request resolved: #162017
|
@coconutruben has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: 07f44dc
Pull Request resolved: #162017
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: 1e2e67b
Pull Request resolved: #162017
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: d99e756
Pull Request resolved: #162017
|
@coconutruben has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: e70c6a5
Pull Request resolved: #162017
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: c784cfc
Pull Request resolved: #162017
|
@coconutruben has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: 11630fd
Pull Request resolved: #162017
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: 79dc51d
Pull Request resolved: #162017
# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov mlazos
Differential Revision: [D81534564](https://our.internmc.facebook.com/intern/diff/D81534564)
[ghstack-poisoned]
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: 3a9b498
Pull Request resolved: #162017
\# why
- enable the system to register performance model ranking functions
- those functions are then used to rank th choices before benchmarking
- enable more modular, faster, more expansive autotuning
\# what
- PerformanceModelChoices, expansion of inductor choices
- mechanism
- users can register functions (through decorators or registration
function)
- functions are hardware, template, op specific
- when an input hits the performance model, if we have any functions
registered for that template/op combo
- we expand the config space for that template
- we ask the function to rank all the choices
- we forward filter down to topk
- control
- topk: -1 to say "same as default search space" or > 1 for specific
- topk: 0 turns off any performance modeling
- discard unranked: controls what to do with choices that have not
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
\# testing
```
python -m pytest test/inductor/test_performance_model_interface_e2e.py
python -m pytest test/inductor/test_performance_model_interface.py
```
ghstack-source-id: ddc0529
Pull Request resolved: pytorch/pytorch#162017
Stack from ghstack (oldest at bottom):
why
what
function)
registered for that template/op combo
been estimated (discard, or keep)
You can check out the testing code to see examples of toy functions and
their integration into the system
This choice handler is not turned on by default
Even if the choice handler is turned on, it will be a noop if no
functions are registered, or if topk = 0
testing
cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @ipiszy @chenyang78 @kadeng @muchulee8 @amjames @chauhang @aakhundov @mlazos
Differential Revision: D81534564