x86: Add refmvs.save_tmvs AVX-512 (Ice Lake) asm
checkasm wrapper script, 100 checkasm runs:
c 25781.131
ssse3 8855.98
avx2 8167.997
avx512icl 7075.076
--------------------- FINAL ---------------------
Speed ups:
c..ssse3: 2.911x (o=0.0258)
c..avx2: 3.156x (o=0.0323)
c..avx512icl: 3.644x (o=0.0438)
Speed diffs:
c..ssse3: 34.35% (o=0.3)
c..avx2: 31.68% (o=0.32)
c..avx512icl: 27.45% (o=0.33)
save_tmvs_c: 26049.1 ( 1.00x)
save_tmvs_ssse3: 8729.9 ( 2.98x)
save_tmvs_avx2: 8194.2 ( 3.18x)
save_tmvs_avx512icl: 7149.3 ( 3.64x)
Overall speed up from adding SIMD for refmvs.save_tmvs: (values below are fps)
repeat 3 ./tools/dav1d -i ~/Videos/chimera-8bit-1080.ivf --muxer=null {options}
- ST
ext | save_tmvs_c | save_tmvs_$ext | speed up |
---|---|---|---|
ssse3 | 62.64 | 62.99 | +0.55% |
avx2 | 77.24 | 77.66 | +0.54% |
avx512icl | 78.62 | 79.02 | +0.5% |
- MT (--threads=8)
ext | save_tmvs_c | save_tmvs_$ext | speed up |
---|---|---|---|
ssse3 | 426.38 | 429.06 | +0.62% |
avx2 | 489.46 | 491.9 | +0.5% |
avx512icl | 494.56 | 495.42 | +0.17% |
Edited by Victorien Le Couviour--Tuffet