-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable RVV GEMM/IGEMM 7 x m4 in operator config #6411
Conversation
@alankelly @fbarchard Could you help to review it?
The current logic determines to use nr2_config(half nr) if
However, there is no arch-specifc definition macro used in |
nr 2 is an MRx2 GEMM - 2 floats wide. |
9804699
to
603cff1
Compare
Hi @fbarchard @alankelly |
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Re nr2 - if you didnt have such huge vectors you wouldnt have this problem :-) nr2 doesnt come up much, and you dont have to specialize for it, especially on rvv. Add an entry to what if you break from convention and fill in nr=2, meaning 2 floats = 8 bytes. Its also possible to implement nr=2 gemm's more efficiently than the obvious. I did some for neon, using 4 floats per vector. and for nr=1 you can do 4 floats at a time. If thats possible on rvv, it would likely be faster.
|
Enable RVV GEMM/IGEMM 7 x m4 is landed in #7035 |
@fbarchard Thanks for your help. |
This PR aims to enable RVV GEMM/IGEMM/X32-PACKW in GEMM config.
It leads to enabling RVV implementation in operator API.