-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Description
RC2
- Add naive implementations of
Add,AddMultiply,Cosh,Divide,Exp,Log,Multiply,MultiplyAdd,Negate,Subtract,Sinh,Tanh- @tannergooding - Add naive implementations of
CosineSimilarity,Distance,Dot,Norm,Sigmoid,SoftMax- @michaelgsharp - Add naive implementations of
Max/Min{Magnitude},IndexOfMax/Min{Magnitude},ConvertToHalf/Single,Log2- @stephentoub - Add vectorized implementations of
Abs,Sum,SumOfSquares,SumOfMagnitudes,Product,ProductOfSums,ProductOfDifferences- @stephentoub - Vectorize
Add,Subtract,Multiply,Divide,Negate,AddMultiply,MultiplyAdd- @stephentoub - Backport merged functionality to release/8.0-rc2 - @michaelgsharp
- Rename
L2NormalizetoNorm? - @stephentoub
GA
- Consider source rename of
netcore.csandnetstandard.cssince they don't only apply to those target framework identifiers? per @stephentoub it maps to our existing naming conventions - Ensure packages set up to ship XML docs correctly.
- Review/update XML comments for API docs - @stephentoub
- Update the API proposal issue to reflect the new APIs we added since that issue was approved - @stephentoub
- Add content to the RC2 release notes with call to action to try out preview package - @luisquintanilla
- Collect benchmarks to include in the post - @michaelgsharp
- Make it safe across all operations to use an input span as a destination, as well, test, and document - @stephentoub
- Update
CosineSimilarityimplementations to vectorize remainder processing - @stephentoub - Update
Aggregatehelper to vectorize remainder processing (Distance,Dot,Norm,Sum,SumOfSquares,SumOfMagnitudes,Product,ProductOfSums,ProductOfDifferences) - @stephentoub - Vectorize
Exp- @tannergooding - Vectorize
Softmax- @stephentoub - Vectorize
Sigmoid- @stephentoub - Vectorize
Log- @tannergooding - Vectorize
Log2- @tannergooding - Vectorize
Cosh- @stephentoub - Vectorize
Sinh- @stephentoub - Vectorize
Tanh- @stephentoub - Vectorize
Max- @stephentoub - Vectorize
Maxelement-wise - @stephentoub - Vectorize
Min- @stephentoub - Vectorize
Minelement-wise - @stephentoub - Vectorize
MaxMagnitude- @stephentoub - Vectorize
MaxMagnitudeelement-wise - @stephentoub - Vectorize
MinMagnitude- @stephentoub - Vectorize
MinMagnitudeelement-wise - @stephentoub - Vectorize
ConvertToHalf- @stephentoub - Vectorize
ConvertToSingle- @stephentoub - Determine if we want to revert or backport FMA commit - @tannergooding (partial revert by @stephentoub)
- Decide whether to throw for unsupported span overlaps (today it's just undefined behavior) - @stephentoub
- Fix functional correctness issues found during ML.NET adoption testing - @tannergooding (issues were due to in-place operations which weren't supported in RC2 but were since supported by @stephentoub)
- Assess
CpuMathAPIs for methods and update the backlog below - @michaelgsharp - Validate perf of APIs (e.g. vectorized speedups are reasonable, comparison of scalar against naive implementations make sense) - @michaelgsharp
- Vectorize
IndexOfMax@michaelgsharp - Vectorize
IndexOfMin@michaelgsharp - Vectorize
IndexOfMaxMagnitude- @michaelgsharp - Vectorize
IndexOfMinMagnitude- @michaelgsharp - Alignment review/guidance/updates to existing methods - @tannergooding
- Rerun perf comparisons to ensure this addresses performance penalities for small sets
- Unary methods
- Binary and ternary methods
- Aggregate and methods not using the shared helpers
- Moved to post-GA:
ConvertToHalf,ConvertToSingle,CosineSimilarity,IndexOfMin,IndexOfMax,IndexOfMinMagnitude,IndexOfMaxMagnitude
- Confirm required ordering semantics in
IndexOfXxmethods - @tannergooding - e.g.runtime/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/TensorPrimitives.cs
Line 602 in d054157
else if (IsNegative(max) && !IsNegative(current)) - Backport final functionality to release/8.0
- Adopt in ML.NET - @michaelgsharp
- Methods that use indices will remain in ML.NET but could go into the TensorPrimitives backlog below
- Methods that require composition will remain in ML.NET (for now), e.g. calculate max magnitude and subtract the mean
- Add
- AddScale
- AddScaleCopy
- Scale
- ScaleAdd (via composition, but could be improved) -- Added to backlog
- MulElementWise
- Sum
- SumSq
- SumAbs (via composition)
- MaxAbs
- MaxAbsDiff (via composition)
- DotProductDense
- L2DistSquared
- Add (with indices) -- Added to backlog
- AddScale (with indices) -- Added to backlog
- DotProductSparse -- Added to backlog
- MatrixTimesSource -- Added to backlog
- SdcaL1UpdateDense -- Added to backlog
- SdcaL1UpdateSparse -- Added to backlog
- ZeroMatrixItems -- Added to backlog
- Adopt in SemanticKernel once RC2 nuget package is available - @stephentoub
xoofx, SommerEngineering, WeihanLi and MineCake147Enietras