Halide
Halide copied to clipboard
Implement Sapphire Rapids features
It would be good to have support for the additional AVX features added with Sapphire Rapids, including VNNI, BF16 and AMX support.
- [x] Add Sapphire Rapids target feature (#5677)
- [x] Extend CPUID support in src/runtime to allow querying
cpuid(eax=7, ecx=1)(#5684, #5702)
- [x] Extend CPUID support in src/runtime to allow querying
- [x] Add support for avx512 bf16 (see Intrinsics guide)
- [x] Add support for vcvtneps2bf16 (#5677)
- [x] Provide wrapper for 128bit version of vcvtneps2bf16, as LLVM does not provide an unmasked version of the intrinsic (#5704)
- [x] Add support for vcvtne2ps2bf16 (#5711)
- [x] Add support for bf16 dot product (#5712)
- [ ] Add support for avx512 VNNI (see Intrinsics guide)
- [ ] Add support for AMX matrix extensions (see Intrinsics guide)
Whoops didn't mean to edit, was just trying the check boxes...
Sapphire Rapids also supports AVX512-FP16, but I noticed that it’s not included in the detected feature list. Is there a specific reason for this exclusion?
There is no specific reason. It's just not yet implemented. PRs welcome.