PyTorch Call for Features - 2.2.0
TL;DR: Starting with the PyTorch 2.2.0 release cycle–now scheduled to ship in mid January–follow these instructions to submit your feature (and/or upgrade to Beta/Stable).
We are kicking off the PyTorch 2.2.0 release cycle!
This release will follow a similar timeline as 2.1 with a notable extension over end of year holidays. As well, feature submission / review will be done by the partner engineering team (Geeta Chauhan) and will be extended to right before the branch cut.
- M1: Call for features (11/1/2023)
- M2: All PRs landed in PyTorch repo / Feature Submission Closed (12/1/23) - DEADLINE
- M3.1: Release branch cut (12/4/23)
- M3.2: Release first RC1 Binary for PyTorch Core (12/5/23)
- M3.3: Domain libraries cut RC Branch (12/7/23)
- M4: Release branch finalized, Announce final launch date, Feature classifications published (week of 12/18/23)
- M5: External-Facing Content Finalized (1/8/24)
- M6: Release Day (1/11/24)
Please read the blog posts for the 2.1 release to get familiar with the marketing format: PyTorch 2.1: automatic dynamic shape compilation, distributed checkpointing | PyTorch. Remember that to qualify for Beta status or Stable status requires release blogs and tutorials.
We are thrilled about all the great features from our PyTorch community! If you still have questions after reading the material below–or at anytime during the process–please don’t hesitate to contact one of us: Gregory Chanan, Geeta Chauhan, Alban Desmaison, Andrey Talman, Nikita Shulga and Eli Uriegas
Step 1: Add your feature to the PyTorch 2.2.0 feature list along with the submitter name. By EOD on 12/1, create a copy of the feature form here, complete it to the best of your ability, and link it into the feature list. (An example is here.)
Step 2: If you’ve submitted a feature–and your feature requires a review–you will be invited to a review meeting. Please note: Only a subset of features will require a review meeting.
Step 3: By 12/1 land your PRs and submit your features. This is the last day before the release cut.
Step 4: We will review and provide feedback for final edits for features highlighted in release notes by 12/18 and will publish feature classifications. Please read the PyTorch 2.1 blogs to see format, length, and style @ PyTorch 2.1: automatic dynamic shape compilation, distributed checkpointing | PyTorch. Remember to drop charts/images here. Remember our best practice: We do not compare or disparage competitors’ products or their stats; for example, don’t say that PyTorch is 10X better than another framework.
Classification is based on our published classification guidance. In the end, this is a judgment call by the relevant teams, both the feature owners/contributors as well as the PyTorch maintainers and Technical Leads. With new features, we need to balance commitment and coverage. See below for how we think about how we define the classifications.
Stable: A stable feature means that the consumer value-add is or has been proven (note that consumer may not be the end user, but a component higher in the stack), the API isn’t expected to change, the feature is performant, and all documentation exists to support end-user adoption.
Beta: In the case of a Beta feature, the value add, similar to a Stable feature, has been proven (e.g. pruning is a commonly used technique for reducing the number of parameters in NN models, independent of the implementation details of our particular choices), and the feature generally works and is documented. This feature is tagged as Beta because the API may change based on user feedback, because the performance needs improvement, or because coverage across operators is not yet complete.
Prototype: In this case, we would like to get high bandwidth partner feedback ahead of a real release in order to gauge utility and to identify any changes we need to make to the UX. Such feature should be working at least for some limited use cases with appropriate per-function documentation. This feature can be changed significantly from one release to the next.
Think about the appropriate artifacts for your feature classifications. You are responsible for the docs, tutorials/recipes, blog, or other content you need for the launch of your feature.