Hasty Briefsbeta

Emulating AVX-512 intrinsics in Miri

2 days ago
  • #Miri
  • #zlib-rs
  • #avx512
  • Work on using avx512 features in zlib-rs to improve performance with 512-bit vectors.
  • Three parts of zlib-rs benefit from avx512: compare256, crc32, and adler32, adapted from zlib-ng.
  • CI testing challenge: GitHub runners support avx2 but not avx512, requiring emulation solutions.
  • Qemu does not support avx512; Intel's emulator is slow, leading to the idea of using Miri for emulation.
  • Miri already supports many avx2 instructions; added support for 4 specific avx512 instructions needed for zlib-rs.
  • Detailed implementation process for new intrinsics in Miri, including testing and validation on real hardware.
  • Empowerment from improving compiler tooling, with benefits to Miri and stdarch, and successful project outcomes.
  • avx512 implementations in zlib-rs 0.5.3 require Rust 1.89+ and specific target features for use.