AVX-512 Support for Parabix
AVX-512 support for Parabix involves several elements.
Processor Detection
Processor detection is the activity of determining the specific capabilities of the current machine executing code. It is particularly important for dynamically compiled code as in the Parabix framework.
- Implement AVX-512BW processor detection logic.
- Note that AVX-512 has several subfamilies of logic as should in the Intel Intrinsics Guide.
- Modify idisa_target.cpp to incorporate your logic.
IDISA Builder for AVX512
- Create an AVX512BW_Builder as a subclass of IDISA_Builder with BlockWidth = 512,
and develop efficient implementations of critical Parabix operations
hsimd_packh
andhsimd_packl
for field width 16, 8, 4, and 2 in order to support efficient transpositionhsimd_signmask
bitblock_add_with_carry
bitblock_indexed_advance
- Evaluate icgrep performance with AVX-512BW instructions vs. AVX2 and SSE2.
- If time permits, investigate the efficient implementation of other operations.
simd_popcount
simd_pext
simd_pdep
Updated Mon Jan. 29 2018, 07:39 by cameron.