riscv-gnu-toolchain
pine_ox64
riscv-gnu-toolchain | pine_ox64 | |
---|---|---|
11 | 1 | |
6 | 13 | |
- | - | |
0.0 | 2.9 | |
almost 2 years ago | 7 months ago | |
C | ||
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
riscv-gnu-toolchain
-
RISC-V Vector benchmark results
That shouldn't be news.
Other than the CanMV-K230 (Kendryte K230, single 1.6 GHz C908 core implementing RVV) which just started shipping in the last two weeks, every RISC-V board with RVV has either C906 or C910 cores which implement draft 0.7.1.
Those CPU cores were announced in mid 2019 (when RVV 0.7.1 was the current draft) and boards using them start arriving in mid to late 2021.
RVV 1.0 boards will start arriving in force next year, probably starting with the StarFive JH8110 SoC, and (apparently, though I'm not sure I believe it) an update of the SG2042 in the Pioneer, and also the 16 core (but faster cores) SG2380.
> Do you happen to have the name of the gcc branch
The branch has been deleted from the official repo. I have a snapshot on my github:
https://github.com/brucehoult/riscv-gnu-toolchain
Note that it is primarily binutils which understands RVV 0.7.1. GCC understands it only to the extent of accepting "v" in "-march" and passing the right flags to the assembler. This enables using the gcc driver to build .s files and inline RVV asm in C. There is no support for RVV intrinsic functions or auto-vectorisation.
It's also a somewhat old gcc. I use it to build .o files from assembly language, and then link them with C compiled by a newer gcc or llvm. Or not, most of the time gcc 9 is fine.
THead have RVV 0.7.1 support in newer gcc, but I haven't been tracking that closely.
-
Lichee Pi 4A: Serious RISC-V Desktop Computing [video]
The TH1520 has much faster memcpy speeds at every level of cache and DRAM.
https://hoult.org/JH7110_memcpy.txt
https://hoult.org/JH7110_memcpy.txt
And yet ... both Richard Jones at Fedora and I have found that the VisionFive 2 is actually slightly faster at building software packages!
My result was that building the same binutils + gcc + newlib snapshot (an old one with RVV 0.7.1 support)...
https://github.com/brucehoult/riscv-gnu-toolchain
... the VisionFive 2 takes 108 minutes while the Lichee Pi 4A takes 122 minutes.
That's with the supplied fan on the LPi4A (and confirmed it's not throttling) and no cooling at all on the VisionFive 2. I used the same Samsung external USB3 SSD on both -- the VisionFive 2 gets slightly faster transfer speeds (IIRC 190 MB/s vs 160) with that, but that's not enough to matter: just 12s difference on the time to tar up the source directory, compared to a 14 minute build time difference. Both have enough RAM to cache everything anyway.
> VF2 GPU: IMG BXE-4-32 Lichee Pi: ?? Anyone?
BXM-4-64
-
RISC-V Lichee Pi 4A vs. VisionFive 2 vs. HiFive Unmatched vs. Raspberry Pi 4B
I've also found the 1.5 GHz in-order VF2 does remarkably well vs the 1.85 GHz OoO LPi4A on software build tasks, though not as extreme as Richard shows.
I'm lazy and using the original Image-55 on my 8 GB VF2, and the Debian that came preloaded in the eMMC on the LPi4A. My mass-production LPi4A arrived yesterday, I haven't tried it yet, tests are on the beta board that arrived a couple of months ago.
On pure CPU core + L1 cache tests (e.g. https://hoult.org/primes.txt) the LPi4A is considerably faster.
The LPi4A is also much faster on memcpy tests.
https://hoult.org/TH1520_memcpy.txt
https://hoult.org/JH7110_memcpy.txt
My build test is an RVV 0.7.1-enabled snapshot of the gnu toolchain (gcc 9.2) that I use on the TH1520 and SG2042. Newlib, non-multilib (just rv64gcv) build. I used the same Samsung 2 TB external USB3 SSD drive for src/build trees on both boards. https://github.com/brucehoult/riscv-gnu-toolchain
VF2:
real 107m52.116s
-
The IMPOSSIBLE RISCV HACK: Vector Extension 0.7.1-draft w/ current Linux kernel! – René Rebe
To build rvv programs I use brucehoults rvv 0.7.1 toolchain and some assembly macros, so I can write a subset of rvv 1.0 that I can run on rvv 0.7.1: https://github.com/brucehoult/riscv-gnu-toolchain https://github.com/camel-cdr/rvv-d1/blob/main/rvv-rollback.S
-
rvv rollback via assembly macros for writing rvv 1.0 code that is compatible with rvv 0.7.1
I'm using a rvv 0.7.1 toolchain, which doesn't support the rvv 1.0 mnemonics.
- Xuantie toolchain on Apple Silicon M1
-
Building a toolchain suitable for compiling V extension code
Step 1. Build the RISC-V GNU toolchain suitable for compiling and assembling RVV 0.7.1 instructions, and that would be https://github.com/brucehoult/riscv-gnu-toolchain. For grins I built this on a RISC-V machine, the Unmatched. It took a few hours, but there's something sublime about using RISC-V everywhere you can.
- LLVM 17 Lands Initial Support For RISC-V Vector Crypto Extension ISA
- Allwinner D1 extensions
pine_ox64
-
Xuantie toolchain on Apple Silicon M1
I built the Xuantie risc-v toolchain using this guide, which seemed to work. Trying to build the helloworld example using this guide, the build fails with stdint.h: No such file or directory and many similar errors indicating it cannot find the standard C headers.
What are some alternatives?
riscv-binutils-gdb - RISC-V backports for binutils-gdb. Development is done upstream at the FSF.
Cilicon - 🛠️ Self-Hosted ephemeral macOS CI on Apple Silicon
rvv-d1 - Enable rvv on MangoPi MQ-Pro (Allwinner D1) linux
MonitorControl - 🖥 Control your display's brightness & volume on your Mac as if it was a native Apple Display. Use Apple Keyboard keys or custom shortcuts. Shows the native macOS OSDs. [Moved to: https://github.com/MonitorControl/MonitorControl]
riscv-v-spec - Working draft of the proposed RISC-V V vector extension
HelloSilicon - An introduction to ARM64 assembly on Apple Silicon Macs
qemu
HelperX - All-in-One Utility & Productivity Software for MacOS
thead-kernel - Original from https://gitee.com/thead-yocto/kernel
doesitarm - 🦾 A list of reported app support for Apple Silicon as well as Apple M2 and M1 Ultra Macs
simd - Branch of the spec repo scoped to discussion of SIMD in WebAssembly
MonitorControl - 🖥 Control your display's brightness & volume on your Mac as if it was a native Apple Display. Use Apple Keyboard keys or custom shortcuts. Shows the native macOS OSDs.