microsoft / microsoft/onnxruntime
[Feature Request] Add RISC-V architecture support -- SHL EP
- Dominant language
- C++
- Stars
- 21.9k
- Forks
- 4.2k
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 184
Description
### Describe the feature request
Currently, the RISC-V architecture is experiencing rapid development, and chip shipments are increasing day by day. Adding support for a RISC-V backend to ORT would be a great way to support AI model applications on RISC-V. In this Feature Request, we propose adding an SHL EP to ORT to enable support for RISC-V.
SHL([Structure of Heterogeneous Library](https://github.com/T-head-Semi/csi-nn2), Chinese name: ShiHulan) is a high-performance Heterogeneous computing library for RISC-V CPUs with vector extension provided by T-HEAD. It is compatible with RISC-V v0.7.1 and v1.0 vector extension instruction standards.
Features for SHL:
Reference implementation of c code version
Assembly optimization implementation for XuanTie CPU
Supports symmetric quantization and asymmetric quantization
Support 8bit, 16bit, and f16 data types
compaatible with NCHW and NHWC formates
Use [HHB](https://www.yuque.com/za4k4z/kvkcoh) to automatically call API
Covers different architectures, such as CPU and NPU
Reference heterogeneous schedule implementation
### Describe scenario use case
Efficient AI inference for applications using ORT on RISC-V CPU
Contributor guide
Research direction
The issue names no repository files or tests. Begin by mapping ORT's execution-provider integration points and reviewing SHL (CSI-NN2) and HHB documentation; define the supported RISC-V vector versions, data types, layouts, and CPU/NPU scope before implementation, then validate end-to-end inference on RISC-V.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp
- Domain
- backend, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100