Skip to content

Conversation

@JaimeHW
Copy link

@JaimeHW JaimeHW commented Jan 6, 2026

Me and a group of fellow students have spent the last 12 months developing a set of optimized kernels for RISC-V edge devices running AI applications using 32-bit vector intrinsics as part of our senior undergraduate project.
We developed and tested the kernels using the Spike RISC-V simulator and benchmarked them by running modified versions of the person_detection and micro_speech examples and measuring the resulting cycle counts.
Our new kernels are built under a new build_target called riscv_vector.

Using our kernels, our results for one iteration of person detection yielded a 4.1x reduced cycle count compared to the default scalar implementations, and a 2.8x reduction compared to the compiler-vectorized default implementations:
image

Our results for one iteration of micro speech (including signal functions) yielded a 1.47x reduced cycle count compared to the default scalar implementations, and a 2.5x reduction compared to the compiler-vectorized default implementations:
image
Interestingly we found the auto-vectorization done by the compiler in this instance to increase the cycle count rather than reduce it.

We were unsure if this is something that may be welcomed upstream but decided to make this pull request in case this could be useful for anyone else.

JaimeHW and others added 30 commits April 14, 2025 12:19
@JaimeHW JaimeHW requested a review from a team as a code owner January 6, 2026 05:20
@google-cla
Copy link

google-cla bot commented Jan 6, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@JaimeHW
Copy link
Author

JaimeHW commented Jan 6, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Signed
@pseudonam-gc
@numbers1234567

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants