executorch icon indicating copy to clipboard operation
executorch copied to clipboard

[v0.2.0] Release Tracker

Open guangy10 opened this issue 1 year ago • 91 comments

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 main but directly in release/0.2 branch 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:

  1. Critical fixes in core components: build, exir, backends, runtime, sdk
  2. Bug fixes in demos/examples. No new features/experiments
  3. Critical bug fixes based on community feedback
  4. Documentation improvements
  5. Test/CI fixes
  6. 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

  1. Ensure your PR has landed in master. This does not apply for release-branch specific changes (see Phase 1 criteria).

  2. Create (but do not land) a PR against the release branch. Option 1: Use pytorchbot to cherry pick a PR that has been committed to the main branch using @pytorchbot cherry-pick command 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
    
    
  3. Make a request below with the following format:

Link to landed trunk PR:
* 

Link to release branch PR:
* 

Criteria category and reasons:
* 
  1. Someone from the release team will reply with approved / denied or ask for more information.
  2. 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

guangy10 avatar Mar 25 '24 22:03 guangy10

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.

GregoryComer avatar Mar 28 '24 18:03 GregoryComer

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

kirklandsign avatar Apr 08 '24 21:04 kirklandsign

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/llama to avoid confusion.

@guangy10 merged

kirklandsign avatar Apr 08 '24 21:04 kirklandsign

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

GregoryComer avatar Apr 09 '24 07:04 GregoryComer

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

mergennachin avatar Apr 09 '24 13:04 mergennachin

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

mergennachin avatar Apr 09 '24 13:04 mergennachin

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

mergennachin avatar Apr 09 '24 13:04 mergennachin

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

mergennachin avatar Apr 09 '24 13:04 mergennachin

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

cccclai avatar Apr 09 '24 18:04 cccclai

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

GregoryComer avatar Apr 10 '24 00:04 GregoryComer

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

GregoryComer avatar Apr 10 '24 01:04 GregoryComer

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

Olivia-liu avatar Apr 10 '24 21:04 Olivia-liu

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

mergennachin avatar Apr 11 '24 16:04 mergennachin

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

kirklandsign avatar Apr 11 '24 18:04 kirklandsign

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

Olivia-liu avatar Apr 11 '24 19:04 Olivia-liu

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

cccclai avatar Apr 11 '24 21:04 cccclai

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

kirklandsign avatar Apr 12 '24 22:04 kirklandsign

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

kirklandsign avatar Apr 12 '24 22:04 kirklandsign

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

Gasoonjia avatar Apr 15 '24 17:04 Gasoonjia

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

cccclai avatar Apr 16 '24 05:04 cccclai

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

cccclai avatar Apr 16 '24 17:04 cccclai

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

svekars avatar Apr 17 '24 21:04 svekars

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

svekars avatar Apr 17 '24 21:04 svekars

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

cccclai avatar Apr 18 '24 00:04 cccclai

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

SS-JIA avatar Apr 18 '24 14:04 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

cymbalrush avatar Apr 19 '24 16:04 cymbalrush

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

cymbalrush avatar Apr 19 '24 18:04 cymbalrush

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

cccclai avatar Apr 19 '24 19:04 cccclai

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

Gasoonjia avatar Apr 19 '24 20:04 Gasoonjia

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

cccclai avatar Apr 19 '24 23:04 cccclai