Re: Proposal for enabling auto-vectorization for checksum calculations

From: Matthew Sterrett <matthewsterrett2(at)gmail(dot)com>
To: Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
Cc: Stepan Neretin <slpmcf(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, "Devulapalli, Raghuveer" <raghuveer(dot)devulapalli(at)intel(dot)com>, "Shankaran, Akash" <akash(dot)shankaran(at)intel(dot)com>
Subject: Re: Proposal for enabling auto-vectorization for checksum calculations
Date: 2025-05-22 21:54:28
Message-ID: CA+vA85_Er75cm7-0LWdiBbQvzk57xkOXH3jQ7bZTQiHGzjMC9Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> You can see the failure at the artifacts ->
> 'log/tmp_install/log/install.log' file on the CI web page [1].
>
> If you want to replicate that on your local:
>
> $ ./configure --with-llvm CLANG="ccache clang-16"
> $ make -s -j8 world-bin
> $ make -j8 check-world
>
> should be enough. I was able to replicate it with these commands. I
> hope these help.
Thanks so much for helping me figure this out!

Okay, I've determined that versions of LLVM/Clang before 19 crash when
compiling this patch for some reason; it seems that both make
check-world and make install will crash with the affected LLVM
versions.
Unfortunately, what matters seems to be the version of the linker/LTO
optimizer, which I don't think we can check at compile time.
I added a check for Clang>=19 which works at preventing the crash on my system.
I think it's possible some unusual combination of clang/LLVM might
still crash during the build, but I think this is a reasonable
solution

Attachment Content-Type Size
v4-0005-Use-dummy-function-to-avoid-linker-error-move-dec.patch application/octet-stream 1.9 KB
v4-0004-fix-bench-compiling.patch application/octet-stream 692 bytes
v4-0002-Fix-compilation-on-systems-where-immintrin.h-is-n.patch application/octet-stream 1.1 KB
v4-0001-Enable-autovectorizing-pg_checksum_block.patch application/octet-stream 10.5 KB
v4-0003-Benchmark-code-for-postgres-checksums.patch application/octet-stream 4.7 KB
v4-0006-Workaround-for-clang-19-crash.patch application/octet-stream 2.0 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Melanie Plageman 2025-05-22 22:15:35 Understanding when VM record needs snapshot conflict horizon
Previous Message David G. Johnston 2025-05-22 21:53:06 Re: [Util] Warn and Remove Invalid GUCs