OpenBLAS/lapack
Mark Ryan 3b715e6162 Add autodetection for riscv64
Implement DYNAMIC_ARCH support for riscv64.  Three cpu types are
supported, riscv64_generic, riscv64_zvl256b, riscv64_zvl128b.
The two non-generic kernels require CPU support for RVV 1.0 to
function correctly.  Detecting that a riscv64 device supports
RVV 1.0 is a little complicated as there are some boards on the
market that advertise support for V via hwcap but only support
RVV 0.7.1, which is not binary compatible with RVV 1.0.  The
approach taken is to first try hwprobe.  If hwprobe is not
available, we fall back to hwcap + an additional check to distinguish
between RVV 1.0 and RVV 0.7.1.

Tested on a VM with VLEN=256, a CanMV K230 with VLEN=128 (with only
the big core enabled), a Lichee Pi with RVV 0.7.1 and a VF2 with no
vector.

A compiler with RVV 1.0 support must be used to build OpenBLAS for
riscv64 when DYNAMIC_ARCH=1.

Signed-off-by: Mark Ryan <markdryan@rivosinc.com>
2024-07-15 14:24:22 +00:00
..
getf2 clarify the comment on the out-of-bounds check from #723 2023-08-26 02:00:00 +02:00
getrf fix function typecast 2021-12-21 18:49:18 +01:00
getrs Adapt to having only a subset of variable types supported 2020-10-11 14:44:56 +02:00
laswp Add autodetection for riscv64 2024-07-15 14:24:22 +00:00
lauu2 Adapt to having only a subset of variable types supported 2020-10-11 14:43:13 +02:00
lauum fix improper function prototypes (empty parentheses) 2023-09-30 12:59:44 +02:00
potf2 Adapt to having only a subset of variable types supported 2020-10-11 14:41:43 +02:00
potrf use atomic operations as in the corresponding getrf 2024-03-28 11:33:31 +01:00
trti2 Adapt to having only a subset of variable types supported 2020-10-11 14:40:06 +02:00
trtri Adapt to having only a subset of variable types supported 2020-10-11 14:39:19 +02:00
trtrs Adapt to having only a subset of variable types supported 2020-10-11 14:38:25 +02:00
CMakeLists.txt Conditionally compile files that may get replaced by ReLAPACK 2022-11-08 12:04:46 +01:00
Makefile add missing objects 2019-09-08 11:14:49 -04:00