[
https://issues.apache.org/jira/browse/HADOOP-19724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18047596#comment-18047596
]
ASF GitHub Bot commented on HADOOP-19724:
-----------------------------------------
PeterPtroc commented on PR #8031:
URL: https://github.com/apache/hadoop/pull/8031#issuecomment-3692613574
sorry for the late reply.
I completely agree with the suggested approach: merging the Zbc/Zbkc
scalar-based CRC32C acceleration first, followed by the vector (V + Zvbc)
version. This aligns perfectly with my current plan.
I am also excited to collaborate with @leiwen2025 in the next phase to
integrate the vectorized solution. Our goal is to implement a multi-tiered
optimization strategy: **`vclmul > clmul > software`**.
The decision to prioritize the scalar (Zbc/Zbkc) implementation is based on
several key factors:
* **Broader Hardware Availability**: Zbc is part of the RISC-V scalar
cryptography extension and is already supported by many mainstream chips (e.g.,
SiFive P/U series, T-Head C9xx). The Vector extension (V) and Zvbc are
currently limited to newer high-end or experimental hardware, so the scalar
version provides immediate benefits to a larger user base.
* **Ease of Verification and Maintenance**: The scalar implementation is
logically simpler, making it easier to review, test, and debug. Vectorization
introduces complexities like memory alignment and register scheduling, which
are better handled as a dedicated follow-up optimization.
* **Progressive Evolution & Robust Fallback**: Establishing a solid scalar
path first allows us to build a robust fallback mechanism (`vclmul → clmul →
software`). This ensures that Hadoop can run efficiently across the diverse
RISC-V hardware ecosystem.
I will update the PR with the requested comments and documentation from
@steveloughran shortly to ensure the implementation is well-explained for
future developers.
> [RISC-V] Add rv bulk CRC32 (non-CRC32C) optimized path
> -------------------------------------------------------
>
> Key: HADOOP-19724
> URL: https://issues.apache.org/jira/browse/HADOOP-19724
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: hadoop-common
> Affects Versions: 3.5.0
> Reporter: Ptroc
> Priority: Major
> Labels: native, pull-request-available, risc-v
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]