Re: AVX-512 for LAME: code to try, if you have the hardware

Alexander Leidinger via Lame-dev <[email protected]> Sun, 26 Jul 2026 15:24:42 +0200
Newsgroups gmane.comp.audio.mp3.lame
Organization No organization, this is a private message.
Message-ID <[email protected]>
Am 2026-07-26 12:44, schrieb Tobias Damisch via Lame-dev:
> I did as instructed, now AVX-512 is in vector routines,
> the 1c test showed IDENTICAL.
> 
> CPU: AMD Ryzen 9 7950X3D (32) @ 5.759GHz
>> gcc --version
> gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0
> OS: Linux Mint 22.3 x86_64
> 
>> ./frontend/lame --verbose example.wav
> LAME 4.1 (alpha 0, Jul 26 2026 11:43:08) 64bits 
> (https://lame.sourceforge.io)
> warning: alpha versions should be used for testing only
> CPU features: MMX, SSE, SSE2, AVX2, AVX-512
> vector routines: AVX-512
> 
> 
> Stage 1d (I did run a warmup round before time measurements):

Great! Thanks!
Unfortunately the AVX-512 code is slower on your hardware than the AVX2 
code. Zen 5 seems to share the same 256bit datapath as Zen 4 does, so 
AVX-512 is not beneficial for current AMD64 hardware.

In case someone has an Intel CPU with AVX-512, it would be interesting 
to see the numbers there, it seems to have a 512bit datapath.

> Stage 2:
> ------------
> configure and make completed, but make check produced:
> 
> PASS: test_sanity
> PASS: test_get_audio_aiff
> PASS: test_parse_pathlen
> PASS: test_merge_argv
> PASS: test_id3tag
> PASS: test_parse_id3
> PASS: test_encode_nonfinite
> PASS: test_encode_mono_interleaved
> PASS: test_totalframes
> PASS: test_set_get
> PASS: test_choose_table_vector
> PASS: test_quantize_lines_vector
> FAIL: test_calc_sfb_noise_vector
> ============================================================================
> Testsuite summary for lame 4.1
> ============================================================================
> # TOTAL: 13
> # PASS:  12
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  1
> # XPASS: 0
> # ERROR: 0
> ============================================================================
> See test/unit/test-suite.log
> Please report to [email protected]
> ============================================================================
> 
> I assume the performance comparisons for stage 2 are obsolete if
> "make check" shows fails...?

Please provide test/unit/test-suite.log to understand what exactly 
failed. This is more out of curiosity, it will not change the outcome.

Thanks,
Alexander.

-- 
http://www.Leidinger.net [email protected]: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    [email protected]  : PGP 0x8F31830F9F2772BF