Add 10 contributor onboarding playbooks#28737
Conversation
| Windows example: | ||
|
|
||
| ```powershell | ||
| cd build\Windows\RelWithDebInfo |
There was a problem hiding this comment.
on Windows, there's another <build config> directory when using the default Visual Studio generator
| cd build\Windows\RelWithDebInfo | |
| cd build\Windows\RelWithDebInfo\RelWithDebInfo |
|
|
||
| ## Practical Debug Workflow | ||
|
|
||
| 1. Build in RelWithDebInfo while iterating. |
There was a problem hiding this comment.
Debug has the best debugging experience. RelWithDebInfo is useful if performance is important.
|
|
||
| ## Prerequisites | ||
|
|
||
| - GitHub account and a fork of the ONNX Runtime repo |
There was a problem hiding this comment.
a fork is not strictly necessary for MS folks
| ## Prerequisites | ||
|
|
||
| - GitHub account and a fork of the ONNX Runtime repo | ||
| - C++ toolchain for your platform |
There was a problem hiding this comment.
also need CMake. it can be installed in the Python environment.
| git checkout -b <short-feature-branch-name> | ||
| ``` | ||
|
|
||
| ## Step 2: Create and activate a Python virtual environment |
There was a problem hiding this comment.
possibly worth mentioning Python virtual environment usage in the build/test/debug playbook. typically, you don't want to run the build script in the system python environment as it could install Python dependencies.
|
|
||
| ## Outcome | ||
|
|
||
| By the end of this playbook, you will be able to add or modify a graph optimization pass, reason about where it runs in the optimizer pipeline, and validate correctness with targeted transformer tests. |
There was a problem hiding this comment.
reason about where it runs in the optimizer pipeline
should we describe the different optimization levels? or refer to the docs?
https://onnxruntime.ai/docs/performance/model-optimizations/graph-optimizations.html
|
|
||
| By the end of this playbook, you will be able to start an execution provider implementation plan, choose between in-tree and plugin paths, and complete a minimal first-op bring-up with focused validation. | ||
|
|
||
| This playbook uses [docs/ExecutionProvider_Playbook.md](../ExecutionProvider_Playbook.md) as the primary deep-dive source and adapts it into the contributor learning sequence. |
There was a problem hiding this comment.
is this file supposed to be added this PR?
|
|
||
| ## Outcome | ||
|
|
||
| By the end of this playbook, you will be able to start an execution provider implementation plan, choose between in-tree and plugin paths, and complete a minimal first-op bring-up with focused validation. |
There was a problem hiding this comment.
choose between in-tree and plugin paths
the choice for a new EP should be an out-of-tree plugin EP.
|
|
||
| ## Outcome | ||
|
|
||
| By the end of this playbook, you will be able to start an execution provider implementation plan, choose between in-tree and plugin paths, and complete a minimal first-op bring-up with focused validation. |
There was a problem hiding this comment.
the scope of this playbook (adding a new EP) seems very large in comparison to the others.
| @@ -0,0 +1,140 @@ | |||
| # Playbook 10: Python and C API Binding Extension | |||
There was a problem hiding this comment.
what about other languages? I think in terms of priority, the C++ API updates associated with a new C API are higher than the Python binding.
Summary
This PR adds a complete 10-playbook onboarding path for new ONNX Runtime contributors, moving from codebase orientation through advanced contribution workflows.
What is included
Files changed
Commit sequence
Validation