Vector on Banana Pi BPI-F3
Robbin Ehn
rehn at rivosinc.com
Mon Jul 1 02:08:31 PDT 2024
Hey!
There seems to be a large interest in running openjdk with vector on
this board out-of-the-box.
The vendor kernel have vector from 6.4 back-ported without hwprobe.
And FYI: the vendor kernel for k230 has THEAD vector patches.
Both do the right thing during context switches (sources have been checked).
It seems like we have three options, anymore?
A:
Keep what we do: i.e. no hwprobe no V.
Downside no V (default) on contemporary boards.
Hence no V coverage in CI testing and disappointed early adopters.
B:
Enable it for triplet mvendorid/marchid/mimplid.
Only V for this specific board, other boards and/or updates to this
board require new binaries.
C:
Enable it for boards with V in hwcap.
Downside boards false reporting V (1.0), such as K230 small-CPU and THEAD,
needs to be handled, safe fetch vsetvli and vsetvli v1.0 check can fix
those two examples.
If we miss a board or a new board comes out we may lack proper check thus crash.
In PRs:
https://github.com/openjdk/jdk/pull/19472
https://github.com/openjdk/jdk/pull/19679
Options A was used.
The question is if we can reconsider due to the benefits and use
another option allowing V to automatically work?
Thanks, Robbin
More information about the linux-riscv
mailing list