leiwen2025 opened a new pull request, #7912:
URL: https://github.com/apache/hadoop/pull/7912
This PR implements vector-accelerated CRC32 using the RISC-V V, Zbc and Zvbc
instruction sets, with full functional verification and performance testing
completed.
The implementation uses the vclmul.v and vclmulh.v (carry-less multiply)
instructions for data folding and computes the final checksum via Barrett
reduction.
Key Features:
1. Runtime Hardware Detection
The PR uses kernel hardware probing and cpuinfo parsing to dynamically
detect hardware support for CRC32 acceleration (via v, zbc, and zvbc
extensions) at runtime.
2. Performance Improvement
Hardware-accelerated CRC32 achieves a performance boost of over **3X**
compared to the software implementation.
<!--
Thanks for sending a pull request!
1. If this is your first time, please read our contributor guidelines:
https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute
2. Make sure your PR title starts with JIRA issue id, e.g.,
'HADOOP-17799. Your PR title ...'.
-->
### Description of PR
### How was this patch tested?
### For code changes:
- [x] Does the title or this PR starts with the corresponding JIRA issue id
(e.g. 'HADOOP-17799. Your PR title ...')?
- [ ] Object storage: have the integration tests been executed and the
endpoint declared according to the connector-specific documentation?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`,
`NOTICE-binary` files?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]