RE: Proposal for Updating CRC32C with AVX-512 Algorithm. - Mailing list pgsql-hackers

From Amonson, Paul D
Subject RE: Proposal for Updating CRC32C with AVX-512 Algorithm.
Date
Msg-id BL1PR11MB530492830A59F48DB90F4E4ADCC02@BL1PR11MB5304.namprd11.prod.outlook.com
Whole thread Raw
In response to Re: Proposal for Updating CRC32C with AVX-512 Algorithm.  (Daniel Gustafsson <daniel@yesql.se>)
Responses Re: Proposal for Updating CRC32C with AVX-512 Algorithm.
Re: Proposal for Updating CRC32C with AVX-512 Algorithm.
List pgsql-hackers
> The project is currently in feature-freeze in preparation for the next major
> release so new development and ideas are not the top priority right now.
> Additionally there is a large developer meeting shortly which many are busy
> preparing for.  Excercise some patience, and I'm sure there will be follow-ups
> to this once development of postgres v18 picks up.

Thanks, understood.

I had our OSS internal team, who are experts in OSS licensing, review possible conflicts between the PostgreSQL license
andthe BSD-Clause 3-like license for the CRC32C AVX-512 code, and they found no issues. Therefore, including the new
licenseinto the PostgreSQL codebase should be acceptable. 

I am attaching the first official patches. The second patch is a simple test function in PostgreSQL SQL, which I used
fortesting and benchmarking. It will not be merged. 

Code Structure Question: While working on this code, I noticed overlaps with runtime CPU checks done in the previous
POPCNTmerged code. I was considering that these checks should perhaps be formalized and consolidated into a single
source/headerfile pair. If this is desirable, where should I place these files? Should it be in "src/port" where they
areused, or in "src/common" where they are available to all (not just the "src/port" tree)? 

Thanks,
Paul


Attachment

pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: Use WALReadFromBuffers in more places
Next
From: J F
Date:
Subject: Contributing test cases to improve coverage