microsoft / microsoft/onnxruntime

[Feature Request] Add RISC-V architecture support -- SHL EP

Open
#16,544 5 comments 0 reactions 0 assignees View on GitHub
core runtime feature request
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.