Skip to content
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

[release/9.0-preview7] Mark the new tensor APIs as experimental for .NET 9 #105378

Merged

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jul 24, 2024

Backport of #105268 to release/9.0-preview7

/cc @tannergooding

Customer Impact

  • Customer reported
  • Found internally

Expanding .NET to provide built-in types for exchanging tensor data across libraries and allowing accelerated handling for core operations is an important but large undertaking. The work done in .NET 9 currently encompasses 8 types and nearly 600 new public APIs, many of which are generic and can support arbitrary T or T constrained to one of the generic math interfaces (see https://learn.microsoft.com/en-us/dotnet/standard/generics/math).

Due to the size of this work and the recognized importance of it to the long term growth of the .NET ecosystem, it has been decided to mark these new APIs as [Experimental] (see https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.codeanalysis.experimentalattribute) for .NET 9 and to plan on supporting them officially in .NET 10 instead. This is not being done due to a lack of confidence in the direction we're going, but rather is explictly being done to allow time for additional feedback from the community and important libraries in the .NET ecosystem that plan on taking advantage of the provided functionality. It also gives us additional time to coordinate with improvements to the C# language to ensure a great end-to-end experience.

Regression

  • Yes
  • No

This is net new surface area in .NET 9 that we are opting to ship as experimental this release.

Testing

It was validated that other consumers of the API surface correctly see the expected diagnostic ID indicating these APIs are experimental

Risk

Low.

This is net new surface area in .NET 9 and so has never shipped as "production ready". However, it is worth noting this is the first time the dotnet/runtime repo has used the ExperimentalAttribute ourselves so there is minimal risk added for experiencing the end-to-end. Other repos (such as Azure and ASP.NET) have already used this attribute themselves.

If anyone outside of the dotnet/runtime repo has already taken a dependency on the API’s, they will have to suppress the diagnostic ID or mark their own APIs as experimental.

Copy link

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

1 similar comment
Copy link

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

@carlossanlop
Copy link
Member

@tannergooding @jeffhandley please send an email to Tactics requesting approval and ping me when it is approved. We are short on time.

@ericstj ericstj added the Servicing-consider Issue for next servicing release review label Jul 24, 2024
@carlossanlop carlossanlop removed the Servicing-consider Issue for next servicing release review label Jul 24, 2024
@carlossanlop
Copy link
Member

Approved by Tactics via email. Merging now.

@carlossanlop carlossanlop added the Servicing-approved Approved for servicing release label Jul 24, 2024
@carlossanlop carlossanlop merged commit 416e54c into release/9.0-preview7 Jul 24, 2024
85 of 90 checks passed
@carlossanlop carlossanlop deleted the backport/pr-105268-to-release/9.0-preview7 branch July 24, 2024 19:11
Copy link
Contributor

Tagging subscribers to this area: @dotnet/area-system-numerics-tensors
See info in area-owners.md if you want to be subscribed.

@github-actions github-actions bot locked and limited conversation to collaborators Aug 30, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants