WIP: Add RISC-V RVV implementation #898
No reviewers
Labels
No labels
announcement
bug
build
CI
dependencies
documentation
duplicate
enhancement
experience feedback
feature request
github_actions
help wanted
install
invalid
Long-term
optimization
portability
question
target-specific
test issue
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-Cyan4973/xxHash!898
Loading…
Reference in a new issue
No description provided.
Delete branch "rvv071"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Add RVV support. Current implementation targets both RVV 0.7.1 and RVV 1.0, this is bad for two reason:
__riscvprefix for intrinsics in newer compilersRVV 1.0 can only be tested with QEMU because there is no boards with up-to-date vectors. QEMU also cannot be used for performance testing because it executes all vector ops on scalar registers.
I've tested RVV 0.7.1 on Lichee Pi4A using cross-compilation with Xuantie GCC toolchain. Default
xxhsum -bresults were uninformative for me, so here's full benchmarks.With
-DXXH_VECTOR=XXH_SCALAR:With
-DXXH_VECTOR=XXH_RVV:As soon as I get a board with RVV 1.0, I'll try to adjust code and benchmark it, but for now let it be a draft.
This PR has remained blocked in
draftmode and not seen much progress for a long period time.I presume it means it's abandoned ? In which case, the logical next step would be to close it.
I think this PR can be closed. This branch is definitely abandoned. I have a new version in another branch for RVV 1.0 solely. It showed 4x speed-up on Banana Pi BPI-F3 with a 256-bit wide vector unit. IMO the code still has some room for refinement, and unfortunately, I'm currently unable to find time to finish this.
Pull request closed