-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIavx512Related to the AVX-512 architectureRelated to the AVX-512 architecturein-prThere is an active PR which will close this issue when it is mergedThere is an active PR which will close this issue when it is merged
Milestone
Description
With #80814, we achieved functional parity of Vector512<T> with Vector128<T> and Vector256<T>. However, there are some new instructions available in Avx512 capable hardware that will allow additional hardware acceleration opportunities for all three types.
This includes:
- ConvertToDouble() -
vcvtqq2pd&vcvtuqq2pd - ConvertToInt64() -
vcvtpd2qq - ConvertToUInt32() -
vcvtps2udq - ConvertToUInt64() -
vcvtpd2uqq - ConditionalSelect() -
vpternlog - Shuffle() -
vpermi2*,vpermt2*, etc
We should also ensure that all APIs are accelerated as intrinsic, where applicable, in particular the following are still managed fallbacks (but accelerated):
- Vector512.Dot()
- Vector512.Sum()
There may be others as well, so a general audit to validate would be good.
BruceForstall
Metadata
Metadata
Assignees
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIavx512Related to the AVX-512 architectureRelated to the AVX-512 architecturein-prThere is an active PR which will close this issue when it is mergedThere is an active PR which will close this issue when it is merged