News RISC-V: Debian Trixie auf dem VisionFive 2 SBC

andi_sco

Legends of Tomorrow
✍️Leserartikel-Schreiber
Teammitglied
Registriert
Jan. 2018
Beiträge
20.549
  • Gefällt mir
Reaktionen: flo.murr, BrollyLSSJ, iron-man und 14 andere
Zuletzt bearbeitet: (Hab den Clou vergessen!)
  • Gefällt mir
Reaktionen: flo.murr, Hexxxer76 und atze303
Schade, das die Raspberry Pi Foundation sich nicht mehr für die Makerszene interessiert, eine RPI Linie mit RISC-V würde bestimmt angenommen von den Makern und deren Fleißarbeit würde die Unterstützung für RISC-V dann besser.
 
  • Gefällt mir
Reaktionen: aid0nex, Krik, nyster und eine weitere Person
ARM ist als Unternehmen an der Raspberry Pi Foundation als Gesellschafter beteiligt. Noch weitere Fragen weshalb keine Raspberry Pi Modelle mit leistungsstarken RISC-V CPU-Kernen auf den Markt kommen?
Nur im Pico 2 sind RISC-V Kerne neben ARM Kernen vorhanden.

Weiterhin wird bei den leistungsstärkeren Raspberry Pi Modellen auf bereits fertig entwickelte SoC von Broadcom gesetzt.
Diese werden lediglich für die Nutzung im Raspberry Pi modifiziert, aber nicht von Grund auf neu entwickelt.
Die Broadcom SoC wurden ursprünglich für Media-Streaming-Boxen entwickelt.

Die U74 Kerne von SiFive sind nicht sonderlich stark von der Rechenleistung her, soweit mir bekannt arbeiten diese die Befehle In-Order ab.

Meiner Meinung nach ist das VisionFive2 Board für die gebotene Leistung ein paar Euro zu teuer.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: TomH22
CDLABSRadonP... schrieb:
Das nutzt den gleichen Prozessor und kostet erstmal (ohne alles außer den 8GiB LPDDR) nur 199€ statt 399€, die ursprünglich abgeschreckt hatten...
Es wurde aber nicht das €399 SBC erworben, sondern eines für €135 gekauft.
 
  • Gefällt mir
Reaktionen: flo.murr, TomH22 und konkretor
Komischer "Benchmark", nutzt im Durchschnitt nur 10% Leistung der CPU.

Screenshot 2025-08-31 at 15-39-33 JetStream 2.2.png
 
  • Gefällt mir
Reaktionen: flo.murr, aid0nex, Hexxxer76 und eine weitere Person
Deinorius schrieb:
Es wurde aber nicht das €399 SBC erworben, sondern eines für €135 gekauft.
Deshalb steht da ja mittlerweile auch...
CDLABSRadonP... schrieb:
Das nutzt den gleichen Prozessor und kostet erstmal (ohne alles außer den 8GiB LPDDR) nur 199€ statt 399€, die ursprünglich abgeschreckt hatten...
...ursprünglich!
(mittlerweile, denn die ersten 13 Min fehlte der Clou tatsachlich!)
 
Aha. o_O
So oder so, das Framework wäre wegen des Ökosystems und möglicherweise besseren Software-Unterstützung sicher die interessantere Option, auch wenn es teurer ist.
 
Das wäre eher mal toll für ein starkes Arduino Board. RISC-V würde einem Giga R1 bspw. gut stehen - da würde ich mich gerne mit rumspielen...
Aber so ist es leider relativ sinnbefreit
 
andi_sco schrieb:
Finde mal welche, die auf solchen skurrilen CPUs laufen

Hier ein paar Maschinen, aehnlich schnell wie der Visionfive V1 beim LaTeX-Benchmark, und ein paar schnellere; die Zahl hinten ist die Zeit in Sekunden, kleiner ist schneller. Beim Visionfive 2 laeuft die CPU m.W. mit 1.5GHz statt 1GHz, entsprechend den Wert durch 1.5 teilen, also ungefaehr 3.6s.

Code:
                                                                    s
- Starfive Visionfive JH7100 (1 GHz U74) Fedora 33 (TexLive 2020) 5.492
- Compaq XP1000 21264 500MHz 4M L2 (a7)                           5.5
- Celeron 450 (overclocked Celeron-300A), 100MHz, PC100 SDRAM     5.5
- Raspberry Pi 3, Cortex A53 1.2GHz Raspbian 8                    5.46
- HP workstation 900MHz Itanium II, Debian Linux                  3.528
- Sun Blade 1000, UltraSPARC-IIIi 900Mhz	Solaris 8	          3.09
- iBook G4 12", 1066MHz 7447A, 512KB L2, Debian Sarge GNU/Linux   2.62
- Odroid C2 (1536MHz Cortex A53) Ubuntu 16.04                     2.32
- Core i3-1315U, Golden Cove 3800MHz, Ub.22.04 texlive-latex-base 0.221

Und hier ein paar Zahlen aus den Gforth-Benchmarks:

Code:
 sieve bubble matrix fib   fft  release; CPU; gcc
 0.519 0.555  0.483 0.797 0.729 20220226 (3 regs); 1GHz U74 (JH7100, Visionfive V1); gcc-10.3.1 (Fedora 33)
 0.314 0.314  0.188 0.301 0.252 20250125 (3 regs); 1.6GHz Spacemit(R) X60; gcc-14.2.0 (Debian)
 0.820 0.880  0.420 1.180 0.590 2017-03-20; Raspberry Pi 3 Cortex A53 1.2 GHz, gcc-4.9.2 (Raspbian 8)
 0.708 0.780  0.484 1.028 0.552 20250201 Itanium II 900MHz (HP rx2600); gcc-4.3.2
 0.620 0.728  0.340 1.000 0.532 2017-03-20; PPC 7447a 1066MHz; gcc 4.3.2
 0.492 0.556  0.424 0.700 0.396 2017-05-25; Intel Atom 330 (Bonnell) 1.6GHz; gcc-4.9
 0.350 0.390  0.240 0.470 0.280 20190124; Odroid C2 (1536MHz Cortex-A53), gcc-6.3.0 (Debian 9)
 0.274 0.267  0.126 0.352 0.210 20250115; SPARC-M8 @ 5067MHz: gcc-14.2.0
 0.119 0.160  0.063 0.184 0.065 20250125; Loongson-3C5000L-LL 2000MHz; gcc-14.2.0
 0.051 0.041  0.027 0.038 0.018 20250321; Apple M1 Firestorm 3200MHz; gcc-14.1.0 (MacOS)
 0.020 0.021  0.012 0.027 0.015 20250115; AMD Ryzen 8700G 5000MHz; gcc-12.2.0

Der Spacemit X60 ist noch ein RISC-V-Prozessor. Die Werte sind nur bedingt vergleichbar, da Gforth ueber die Jahre weiterentwickelt wurde. Insbesondere 2023/2024 hat es Aenderungen gegeben, die die Performance bei diesen Benchmarks auf manchen Prozessoren stark verbessert haben.
 
  • Gefällt mir
Reaktionen: aid0nex, TomH22, nyster und 3 andere
john.smiles schrieb:
Schade, das die Raspberry Pi Foundation sich nicht mehr für die Makerszene interessiert, eine RPI Linie mit RISC-V würde bestimmt angenommen von den Makern und deren Fleißarbeit würde die Unterstützung für RISC-V dann besser.
Damit RISC-V Prozessoren halbwegs mit der Funktionalität der ARMv8 Prozessoren mithalten kann, die es beim Raspi ab der Version 2B 1.2 gibt müsste das RISC-V Profil RVA23[1] angestrebt werden[2]. Das Profil wurde überhaupt erst im Oktober 2024 ratifiziert und die Verfügbarkeit entsprechender IP-Cores bzw. fertiger SoCs ist sehr dünn. Die Verfügbarkeit entsprechender SoCs ist von Chinesischen Anbitern für H2 2025 angesagt worden, wirklich viel Material gibt es aber nicht. Die im Raum schwebenden Preise sind dabei auch eher unattraktiv[3], und aufpassen muss man da auch noch. Die Cores sind gern mal mit "RVA23 kompatibel, es fehlt halt nur die V-Extensions" beschrieben, also fehlt die wichtigste, verpflichtende RVA23 Erweiterung im Vergleich zur RVA22 :freak: .



[1] https://riscv.atlassian.net/wiki/spaces/HOME/pages/16154769/RISC-V+Technical+Specifications
[2] Zumindest meiner Meinung nach, Alles vor RVA23 hatte die Vektorerweiterungen allenfalls als Option drinnen und ohne Vektorerweiterungen sind große, grafische Betriebssysteme Imho allenfalls grenzwertig.
[3] https://www.cnx-software.com/2025/0...000-zizhe-a210-and-spacemit-k3/?ref=omgubuntu
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: aid0nex, =dantE=, Apfelkuacha und 5 andere
Piktogramm schrieb:
[2] Zumindest meiner Meinung nach, Alles vor RVA23 hatte die Vektorerweiterungen allenfalls als Option drinnen und ohne Vektorerweiterungen sind große, grafische Betriebssysteme Imho allenfalls grenzwertig.

Die Grafik wird bei modernen Desktops ueber die GPU erledigt, das geht auch ohne Vektorerweiterungen. Und wenn man die Grafik ueber die CPU machen muss, dann nimmt man lieber einen altmodischen Desktop, und er braucht dann auch keine Vektorerweiterungen. 1996 habe ich mir einen 1600x1200-Schirm angeschafft, der wurde mit einem Pentium-133 (ohne Vektorerweiterungen) und einer Matrox Millenium betrieben (Welche Farbtiefe? Weiss ich nicht mehr, aber mindestens 8 bit). Der Visionfive V1 ist zwar eine lahme Gurke, aber im Vergleich zum Pentium-133 ist er eine Rakete; und der Visionfive 2 ist noch schneller, nicht nur wegen der 1.5GHz, sondern auch, weil da ein paar andere Bugs gefixt wurden.
 
Bitte den YouTube-Test mit erzwungenem H264/AVC/avc1 wiederholen. Entweder mit Browser-Addon wie 'Improve Youtube' oder falls das nicht geht mit yt-dlp und mpv.

Laut Tabelle kann der VisionFive2 H264 und H265 hardware decoding. Wenn YouTube das Video wie im Screenshot in VP9 (oder gar AV1) an den Browser schickt, dann läuft das Decoding rein über die CPU, die das - wie man sieht - nicht stemmen kann.
 
  • Gefällt mir
Reaktionen: nyster und JackForceOne
mae schrieb:
Die Grafik wird bei modernen Desktops ueber die GPU erledigt, das geht auch ohne Vektorerweiterungen.
Und bevor die GPU irgendwas machen kann muss mindestens SPIR-V Code durch einen Compiler gezogen werden um Binary für die GPU-Hardware zu erzeugen. Moderne Compiler (für GPU-Architekturen meist LLVM) ohne jedwede Vektorerweiterung sind vergleichsweise lahm. Bei typischen Anwendungen wie Webbrowsern geht es dann weiter. Kryptografie, Dekompression, Parsing, Bau vom DOM-Tree laufen alle auf der CPU und sind ohne >=SSE2 (x86) bzw. Neon (ARM) nicht wirklich flott.

Edit: Selbst wenn wir ein Linux ohne GUI annehmen. Moderne Dateisysteme und dessen Funktionen profitieren von Vektorisierung, nahezu alles was übers Netzwerk geht. Da kommt man entsprechend auch schnell in Bereiche, wo es ohne Vektoreinheiten aufhört sinnvoll zu sein.

mae schrieb:
Und wenn man die Grafik ueber die CPU machen muss, dann nimmt man lieber einen altmodischen Desktop, und er braucht dann auch keine Vektorerweiterungen.
Von grafischen Berechnungen auf der GPU sprichst nur du :).
Und ich brauche Vieles nicht, weit vorn ist dabei Wartezeit darauf, dass CPU fertig wird.

mae schrieb:
1996 habe ich [...]
Meine Vorfahren haben Fleisch roh gefuttert, weil sie kein Feuer hatten.. Ist mir reichlich egal, ich bestehe dennoch auf elektrisches Licht, einen Kühlschrank und Prozessoren mit Vektoreinheiten.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Supra77 und TomH22
Piktogramm schrieb:
Und bevor die GPU irgendwas machen kann muss mindestens SPIR-V Code durch einen Compiler gezogen werden um Binary für die GPU-Hardware zu erzeugen. Moderne Compiler (für GPU-Architekturen meist LLVM) ohne jedwede Vektorerweiterung sind vergleichsweise lahm.

Compiler fuehren selten SIMD-Befehle aus (beim Initialisieren von Speicherbereichen vielleicht), und wenn sie stattdessen skalare Befehle ausfuehren wuerden, waeren sie kaum langsamer.


Da kommen oft Spezialbefehle zum Zug, zumindest fuer beliebte Methoden wie AES. Hat RVA23 solche Befehle? Wenn nicht: die S-Box von AES bildet sich nicht gut auf SIMD-Befehle ab.

Dekompression, Parsing,

Kaum SIMD, ausser fuer das uebliche: Schreiben und Kopieren von groesseren Speicherbereichen.

laufen alle auf der CPU und sind ohne >=SSE2 (x86) bzw. Neon (ARM) nicht wirklich flott.

Kann man leider nicht testen, da alle AMD64-Prozessoren SSE2 haben und alle ARM-Prozessoren, auf denen solche Sachen laufen, Neon. Und die verwenden sie auch fuer skalare FP-Befehle (und das ist die haeufigste Nutzung von SSE2 und Neon). Aber schauen wir's uns ein Beispiel einmal naeher an: zstd, ein Kompressions/Dekompressionswerkzeug.

Code:
# Zeilen in der Disassembler-Ausgabe
[~:160640] objdump -d /bin/zstd |wc -l
245270
# Befehle, die xmm-Register verwenden
[~:160641] objdump -d /bin/zstd |grep xmm|wc -l
5580
# SIMD-Befehle, die xmm-Register verwenden (fangen mit p an)
[~:160642] objdump -d /bin/zstd |grep xmm|grep $'\tp'|wc -l
903
# und das ganze bitte ohne die pxor-Befehle, die zum Loeschen von xmm-Registern verwendet werden
[~:160643] objdump -d /bin/zstd |grep xmm|grep $'\tp'|grep -v pxor|wc -l
557

Also ungefaehr 0.2% der Befehle. Kann natuerlich sein, dass die in einem heissen Kernel verwendet werden, aber um das noch zu recherchieren, habe ich im Moment keine Zeit.

Und ich brauche Vieles nicht, weit vorn ist dabei Wartezeit darauf, dass CPU fertig wird.

Hatte ich bei grafischen Benutzeroberflaechen nie.

Meine Vorfahren [...]

Offenbar gehen die Argumente zur Sache aus.
 
  • Gefällt mir
Reaktionen: Supra77, nyster und Piktogramm
Für Kryptogrphie hat RISC-V einen Befehlssatz. Ob dieser allerdings Teil von RV23 ist, das müsste ich erstmal herausfinden.

https://github.com/riscv/riscv-cryp....1-scalar/riscv-crypto-spec-scalar-v1.0.1.pdf

Die Arbeit der Implementation bleibt den Chipentwicklern vorbehalten, wie bei RISC-V üblich.

https://lists.riscv.org/g/tech-golden-model/attachment/265/0/rva23-profiles-internal-review-20240321 .pdf

In der Auflistung werden die Crypto-Extension nicht unter Mandatory sondern Optional aufgeführt.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: mae und nyster
Wollte mir Anno 1994 einen Arcon Risc 600 zulegen. Habe es aber aus diff. Gründen leider nicht gemacht. Die Risc Proz. sind meiner Meinung nach um Welten besser als das was danach kam. History now.....

 
mae schrieb:
Compiler fuehren selten SIMD-Befehle aus (beim Initialisieren von Speicherbereichen vielleicht), und wenn sie stattdessen skalare Befehle ausfuehren wuerden, waeren sie kaum langsamer.

Um deine Methode zu replizieren, ohne tiefere Analyse (das ist mir zu viel Arbeit):
Code:
objdump -d /lib/libLLVM.so.20.1 | grep xmm | grep $'\tp' | grep -v pxor | wc -l 
31032

objdump -d /lib/libLLVM.so.20.1 | grep ymm | grep $'\tv' | grep -v vpxor | wc -l 
1975
Also LLVM mit einem X86_64_v2 Target (Manjaro Repos), verzweigt auf AVX2, und AVX512. Mir ist das zu viel Aufwand für "bringt wenig". Wobei ich da genauso einschränken muss, dass ich nicht genauer nachgeschaut habe wann der Code zum Einsatz kommt.


mae schrieb:
Da kommen oft Spezialbefehle zum Zug, zumindest fuer beliebte Methoden wie AES. Hat RVA23 solche Befehle? Wenn nicht: die S-Box von AES bildet sich nicht gut auf SIMD-Befehle ab.

Ja, wobei selbst bei der Standardisierung der Risc-V Profile der Wille klar formuliert wurde, von skalarer Beschleunigung von Kryptografie auf Vektorisierte umzuschwenken um den Durchsatz zu verbessern.

https://drive.google.com/file/d/12QKRm92cLcEk8-5J9NI91m0fAQOxqNAq/view ; Seite 5 schrieb:
The scalar crypto extensions Zkn and Zks that were options in RVA22 are not options in
RVA23. The goal is for both hardware and software vendors to move to use vector crypto,
as vectors are now mandatory and vector crypto is substantially faster than scalar crypto.

Zudem ist es allein mit der Beschleunigung von AES Algorithmuses auch nicht getan. Es kommt der Block Cipher (mode) dazu. Da kommt es stark darauf an, wie das Ganze implementiert ist. In der x86-Welt ist es aber kein Teil von AES-Ni und wird über Software geregelt. Bei RISC-V kommt es bisschen auf den Modus an, GCM/GMAC ist über Zvkg realisiert, andere Modi müssten aber auch wieder in Software erledigt werden. Zvkned ist dann grob die Entsprechung von AES-Ni.
Aber aus welchen Gründen auch immer, sind die Erweiterungen optinal :/

Zvkg; Zvkned sind auf Seite 503..504 der aktuellen ISA Dokumentation (unprivileged) zu finden.
https://drive.google.com/file/d/1uviu1nH-tScFfgrovvFCrj7Omv8tFtkp/view


mae schrieb:
Kaum SIMD, ausser fuer das uebliche: Schreiben und Kopieren von groesseren Speicherbereichen.

Kann man leider nicht testen, da alle AMD64-Prozessoren SSE2 haben und alle ARM-Prozessoren, auf denen solche Sachen laufen, Neon. Und die verwenden sie auch fuer skalare FP-Befehle (und das ist die haeufigste Nutzung von SSE2 und Neon). Aber schauen wir's uns ein Beispiel einmal naeher an: zstd, ein Kompressions/Dekompressionswerkzeug.

Also ungefaehr 0.2% der Befehle. Kann natuerlich sein, dass die in einem heissen Kernel verwendet werden, aber um das noch zu recherchieren, habe ich im Moment keine Zeit.
Testen lässt sich sowas grundlegend ja schon auf den entsprechenden Prozessoren, einfach Software ohne Erweiterungen bauen. Wenn man befürchten muss, dass der Code intern auf Code verzweigt und Compilerflags nicht reichen, kann man ne KVM aufmachen und da Features beschränken. Bei Zstd scheint mit das nicht der Fall, entsprechend habe ich es mit make zstd CC=gcc CFLAGS="-O2 -march=x86-64 -mno-sse" probiert. Was jedoch fehlschlägt, da schon benchfn.c zwingend SSE2 braucht.

Code:
benchfn.c: In function ‘BMK_extract_runTime’:
benchfn.c:71:15: error: SSE register return with SSE disabled
   71 | BMK_runTime_t BMK_extract_runTime(BMK_runOutcome_t outcome)
      |               ^~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:329: obj/conf_05b61b52cf7a6eaa44804ce8ab5d4cae/benchfn.o] Error 1
make[1]: *** [Makefile:149: zstd] Error 2
make[1]: Leaving directory '/home/gom/temp/zstd/programs'
make: *** [Makefile:67: zstd] Error 2
Was aber keine Implikation hat, ob es für die Performance relevant ist. Es besagt nur, dass ich es so nicht gebaut bekommt :/

Offenbar gehen die Argumente zur Sache aus.
Das war eine Überzeichnung dessen, dass da ein Argument darauf basierte, was Stand der Technik 1996 war und auch irgendwie ging. Was 1996 als Desktop ging, hat halt nicht viel Relevanz dreißig Jahre später, ebenso wie der Alltag der frühen Steinzeit.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: TomH22 und Supra77
Zurück
Oben