executorch
executorch copied to clipboard
[v0.2.0] Release Tracker
v0.2.0 release branch was cut. The branch name is "release/0.2", with tag "v0.2.0-rc4" atm.
Our release plan from this point is roughly:
-
Phase 1 (until 4/5/24): -- work on finalizing the release branch for stability for soft-launch. -- initial set of documentations and reproducible instructions, including Llama. -- apply release-branch specific changes (changes not in
mainbut directly inrelease/0.2branch like pins). -- Coordinate with PyTorch v2.3 release milestones, and prioritize to get PyTorch PRs needed by ExecuTorch v0.2.0 cherry-picked into PyTorch release v2.3.0. It will be very hard to do so after 04/01. -
Phase 2 (after 4/5/24, until 4/24/24 by 12:00pm PDT): -- perform extended integration/stability/performance testing based on Release Candidate builds. -- fix critical bugs based on early feedback from our soft-launch -- enhance our documentation.
This issue is for tracking cherry-picks to the release branch.
Cherry-Pick Criteria
Focus on stability. Ideally only low risk changes may be cherry-picked from main:
- Critical fixes in core components: build, exir, backends, runtime, sdk
- Bug fixes in demos/examples. No new features/experiments
- Critical bug fixes based on community feedback
- Documentation improvements
- Test/CI fixes
- Release branch specific changes (e.g. change version identifiers)
Any core components changes and other change will require special dispensation from the release managers (currently @guangy10 @mergennachin @dbort ). If this applies to your change please write "Special Dispensation" in the "Criteria Category:" template below and explain.
Cherry-Pick Process
-
Ensure your PR has landed in master. This does not apply for release-branch specific changes (see Phase 1 criteria).
-
Create (but do not land) a PR against the release branch. Option 1: Use
pytorchbotto cherry pick a PR that has been committed to the main branch using@pytorchbot cherry-pickcommand as follows.@pytorchbot cherry-pick --onto release/0.2 -c {regression,critical,fixnewfeature,docs,release}usage: @pytorchbot cherry-pick --onto ONTO [--fixes FIXES] -c {regression,critical,fixnewfeature,docs,release} Cherry pick a pull request onto a release branch for inclusion in a release optional arguments: --onto ONTO Branch you would like to cherry pick onto (Example: release/0.2) --fixes FIXES Link to the issue that your PR fixes (i.e. https://github.com/pytorch/executorch/issues/2345) -c {regression,critical,fixnewfeature,docs,release} A machine-friendly classification of the cherry-pick reason.Option 2: Manually create a cherry pick PR using git command as follows.
# Find the hash of the commit you want to cherry pick # (for example, abcdef12345) git log git fetch origin release/0.2 git checkout release/0.2 git cherry-pick -x abcdef12345 # Submit a PR based against 'release/0.2' either: # via the GitHub UI git push my-fork # via the GitHub CLI gh pr create --base release/0.2 -
Make a request below with the following format:
Link to landed trunk PR:
*
Link to release branch PR:
*
Criteria category and reasons:
*
- Someone from the release team will reply with approved / denied or ask for more information.
- If approved, someone from the release team will merge your PR once the tests pass. Do not land the release branch PR yourself.
Please note HUD Link with branch CI status and link to the HUD to be provided here. HUD
Versions
0.2.0
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2723
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2749
Criteria category and reasons:
- Docs: Restore build instructions in CMakeLists.txt top-level comment.
@guangy10 merged via fast-forward.
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2919
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2923
Criteria category and reasons:
- Documentation improvements. Better readability for markdown.
@guangy10 merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2899
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2924
Criteria category and reasons:
- Documentation improvements. For Android, only use path
/data/local/tmp/llamato avoid confusion.
@guangy10 merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2911
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2939
Criteria category and reasons:
- Documentation improvements and critical fixes for LLM getting started guide.
@mergennachin merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2927
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2929
Criteria category and reasons:
- Update documentation for Llama2
@mergennachin merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2926
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2941
Criteria category and reasons:
- Update documentation fix for Llama2
@mergennachin merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2921
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2942
Criteria category and reasons:
- Update documentation for Llama2
@mergennachin merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2932
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2943
Criteria category and reasons:
- Fix speed generation calculation for iLlama app
@mergennachin merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2876
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2946
Criteria category and reasons: Exclude mutable buffers in constant tagging
@mergennachin merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2940
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2959
Criteria category and reasons:
- Documentation updates to LLM getting started guide to fix blockers in ExecuTorch installation on mac when not using Conda. Minor other doc fixes.
——- @guangy10 merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2868
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2960
Criteria category and reasons:
- Support auto-downloading buck from CMake on Intel Macs. Needed to streamline CMake builds in OSS, since without this, users will have to download the appropriate version of buck2 and explicitly pass in the path.
@mergennachin merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2952
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2971
Criteria category and reasons:
- Doc changes, refine The LLM Manual
@guangy10 merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2992
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2993
Criteria category and reasons:
- Doc improvement
@guangy10 merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2934
- https://github.com/pytorch/executorch/pull/2961
- https://github.com/pytorch/executorch/pull/3006 [NOT CLEAN CP]
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/3025
Criteria category and reasons:
- Bug fixes in demos/examples + Documentation improvements.
@guangy10: @kirklandsign which PR you're request cherry-picking from trunk? Can you make one cherry-pick request per PR? It's okay to squash multiple doc-only changes in one cherry-pick, but please do not mix doc improvement with bug fixes or feature improvement.
@kirklandsign: @guangy10 OK let me separate them.
#2934 is used for QNN fix, but it broke CI and needs #2956 #3006 for CI fix.
@kirklandsign I'm still confused which PRs are cherry-picking PR, and which PR it's mapped in the trunk. Can you please make sure you cherry-picking request is organized as other requests above? Also why is a cherry-picking PR titled release-only? Release-only means the changes should not land in main hence called "release-only".
@kirklandsign: https://github.com/pytorch/executorch/pull/3025 is the CP in release branch, and it maps into #2934, #2956, #3006 because #2934 caused CI failure. Also note that #3006 is not a clean cherry-pick, because it fixes some other stuff in main branch only.
@guangy10 merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2977
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/2997
Criteria category and reasons:
- Add a missing import in the LLM manual doc
@guangy10 merged
Link to landed trunk PR: https://github.com/pytorch/executorch/pull/2957
Link to release branch PR:
https://github.com/pytorch/executorch/pull/3051
Criteria category and reasons:
Fix qnn quantizer when it tries to quantize non fp32 tensor
@guangy10 : @cccclai is it a critical bug fix? I'm not sure how qnn stuff can be well tested since there is no test/CI for it.
@cccclai: it's required for the stories llama model runnning end to end with qnn backend. It needs to be manual test unfortunately. The .so library needs to be downloaded from qualcomm website required user name and password
@kirklandsign: If #2999 is needed, could you please fix the linter in https://github.com/pytorch/executorch/pull/2999/files ? This will become a non-clean-CP but needed for linter. Then I can safely CP https://github.com/pytorch/executorch/pull/3006 either with or without #2999 in release branch.
@cccclai: good call - let me fix it
@guangy10: @cccclai there is a linter failure in the cherry-pick PR. If it's fixed already in other PR, please rebase and let me know when it's ready to merge @cccclai : updated the pr and the linter failure is fixed
@guangy10 merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2956
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/3026
Criteria category and reasons:
- Bug fixes in demos/examples. No new features/experiments. Need #3025 to be merged first. Self contained.
@guangy10 merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2962
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/3027
Criteria category and reasons:
- Bug fixes in demos/examples. No new features/experiments. Need #3025 and #3026 to be merged first. Self contained.
@guangy10 merged
Link to landed trunk PR: https://github.com/pytorch/executorch/pull/2973
Link to release branch PR:
https://github.com/pytorch/executorch/pull/3042
Criteria category and reasons:
Doc changes, refine The LLM Manual
@guangy10 : @Gasoonjia you have a linter error to fix
@guangy10 merged
Link to landed trunk PR: https://github.com/pytorch/executorch/pull/3005
Link to release branch PR:
https://github.com/pytorch/executorch/pull/3052
Criteria category and reasons:
Getting ready to push the changes to enable running stories end to end for qnn backend. Other prs includes https://github.com/pytorch/executorch/pull/3007, https://github.com/pytorch/executorch/pull/3036, https://github.com/pytorch/executorch/pull/3037, https://github.com/pytorch/executorch/pull/3038 (the last pr for qnn). Will submit merged PRs accordingly when this one merges
@guangy10 merged
Link to landed trunk PR: https://github.com/pytorch/executorch/pull/3007
Link to release branch PR:
https://github.com/pytorch/executorch/pull/3061
Criteria category and reasons:
Getting ready to push the changes to enable running stories end to end for qnn backend. https://github.com/pytorch/executorch/pull/3005 is merged, this is the second pr. Remaining ones are https://github.com/pytorch/executorch/pull/3036, https://github.com/pytorch/executorch/pull/3037, https://github.com/pytorch/executorch/pull/3038 (the last pr for qnn). Will submit merged PRs accordingly when this one merges
@guangy10 merged
Link to landed trunk PR: https://github.com/pytorch/executorch/pull/3045
Link to release branch PR:
https://github.com/pytorch/executorch/pull/3098
Criteria category and reasons:
Doc build fix. This one needs to be cherry-picked before #3099.
@guangy10 merged
Link to landed trunk PR:
https://github.com/pytorch/executorch/pull/3071
Link to release branch PR:
https://github.com/pytorch/executorch/pull/3099
Criteria category and reasons:
Doc build fix. This one needs to be cherry-picked after https://github.com/pytorch/executorch/pull/3098.
@guangy10 merged
Link to landed trunk PR: https://github.com/pytorch/executorch/pull/3036
Link to release branch PR:
https://github.com/pytorch/executorch/pull/3114
Criteria category and reasons:
Remaining changes to enable qnn are https://github.com/pytorch/executorch/pull/3037, https://github.com/pytorch/executorch/pull/3038. Will submit merged PRs accordingly when this one merges
@guangy10 merged
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/3113
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/3124
Criteria category and reasons:
- Documentation; this PR adds documentation and tutorials for the ExecuTorch Vulkan backend.
@guangy10: @SS-JIA I know this is doc-only changes and low risk for cherry-picking, but IIUC Vulkan feature is available only on ET main and should be paired with PT main as well. So why do we need to have the Vulkan-doc cherry-picked?
@SS-JIA: @guangy10 So I was able to break the dependency on PT main before the 0.2 branch cut, see https://github.com/pytorch/executorch/pull/2797. The Vulkan delegate now compiles completely standalone with no dependency on PT. I was able to verify all the contents of the documentation on the 0.2 branch without any modifications.
@guangy10 merged. Thanks for the clarification @SS-JIA
Link to landed trunk PR:
- https://github.com/pytorch/executorch/pull/2984
Link to release branch PR:
- https://github.com/pytorch/executorch/pull/3134
Criteria category and reasons:
- The PR has fixes for running the llama model using the Core ML backend.
@guangy10 merged
Link to landed trunk PR:
-
https://github.com/pytorch/executorch/pull/2975 Link to release branch PR:
-
https://github.com/pytorch/executorch/pull/3157 Criteria category and reasons:
-
coremltools has support for Index_Put operation and there is no need to partition, the change is required for achieving good performance when running the llama model.
@guangy10 merged
Link to landed trunk PR: https://github.com/pytorch/executorch/pull/3037
Link to release branch PR:
https://github.com/pytorch/executorch/pull/3166
Criteria category and reasons:
Remaining changes to enable qnn are https://github.com/pytorch/executorch/pull/3038. Will submit merged PRs accordingly when this one merges
@guangy10 merged
Link to landed trunk PR: https://github.com/pytorch/executorch/pull/3152 Link to release branch PR:
https://github.com/pytorch/executorch/pull/3175 Criteria category and reasons: Unblock nanogpt for dynamic export
~~@guangy10 merge~~ @dbort: This was not actually merged. @SS-JIA is adding it to the 0.2.1 tracker
Link to landed trunk PR: https://github.com/pytorch/executorch/pull/3146
Link to release branch PR:
https://github.com/pytorch/executorch/pull/3178
Criteria category and reasons:
Docs for lowering smaller models to mps/coreml/qnn
@guangy10 merged