From: | Xiang Gao <Xiang(dot)Gao(at)arm(dot)com> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | RE: CRC32C Parallel Computation Optimization on ARM |
Date: | 2023-10-25 03:38:20 |
Message-ID: | DB9PR08MB6991161E2042431817978FD6F5DEA@DB9PR08MB6991.eurprd08.prod.outlook.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Thanks for your suggestion, this is the modified patch and two test files.
-----Original Message-----
From: Michael Paquier <michael(at)paquier(dot)xyz>
Sent: Friday, October 20, 2023 4:19 PM
To: Xiang Gao <Xiang(dot)Gao(at)arm(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: CRC32C Parallel Computation Optimization on ARM
On Fri, Oct 20, 2023 at 07:08:58AM +0000, Xiang Gao wrote:
> This patch uses a parallel computing optimization algorithm to improve
> crc32c computing performance on ARM. The algorithm comes from Intel
> whitepaper:
> crc-iscsi-polynomial-crc32-instruction-paper. Input data is divided
> into three equal-sized blocks.Three parallel blocks (crc0, crc1,
> crc2) for 1024 Bytes.One Block: 42(BLK_LENGTH) * 8(step length:
> crc32c_u64) bytes
>
> Crc32c unitest:
> https://gist.github.com/gaoxyt/138fd53ca1eead8102eeb9204067f7e4
> Crc32c benchmark:
> https://gist.github.com/gaoxyt/4506c10fc06b3501445e32c4257113e9
> It gets ~2x speedup compared to linear Arm crc32c instructions.
Interesting. Could you attached to this thread the test files you used and the results obtained please? If this data gets deleted from github, then it would not be possible to refer back to what you did at the related benchmark results.
Note that your patch is forgetting about meson; it just patches ./configure.
--
Michael
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Attachment | Content-Type | Size |
---|---|---|
0002-crc32c-parallel-computation-optimization-on-arm.patch | application/octet-stream | 16.4 KB |
crc32c_benchmark.c | text/plain | 2.1 KB |
crc32c_unitest.c | text/plain | 2.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Ashutosh Bapat | 2023-10-25 03:40:06 | Re: RFC: Logging plan of the running query |
Previous Message | Noah Misch | 2023-10-25 03:04:59 | Re: post-recovery amcheck expectations |