Document when each of the vectorization approaches should be used #64409
Labels
area-System.Runtime.Intrinsics
documentation
Documentation bug or enhancement, does not impact product or test code
Milestone
We now have:
Vector<T>
Vector64<T>
Vector128<T>
Vector256<T>
As part of shipping .NET 7 which includes several of these systems a new, it will be important to provide clear guidance on which should be used when. Should a developer start with
Vector<T>
and only fall back to other things if there are operations required it can't support? If not, why not? If a developer is usingVector128<T>
, when should they also add a "duplicated" path forVector256<T>
? When should they also add a "duplicated" path forVector64<T>
? What are the most likely cases whereVectorN<T>
are insufficient and a developer will want to target the individual instruction set namespaces directly? Are there situations where they might be used together, e.g. aVector128<T>
path and then separate paths for the individual instruction sets? Etc.The text was updated successfully, but these errors were encountered: