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_packhandhsimd_packlfor field width 16, 8, 4, and 2 in order to support efficient transpositionhsimd_signmaskbitblock_add_with_carrybitblock_indexed_advance
- Evaluate icgrep performance with AVX-512BW instructions vs. AVX2 and SSE2.
- If time permits, investigate the efficient implementation of other operations.
simd_popcountsimd_pextsimd_pdep
Updated Mon Jan. 29 2018, 07:39 by cameron.