Zum Hauptinhalt Zur Navigation

Spacemit K1 im Test: Spannender RISC-V-Chip für frusttolerante Entwickler

Der Spacemit K1 steckt in Notebooks , acht RISC-V -Kerne versprechen ordentliche Leistung. Ob der Chip das Versprechen hält, zeigt unser Test des Banana Pi BPI-F3.
/ Johannes Hiltscher
6 Kommentare News folgen (öffnet im neuen Fenster)
Der Banana Pi BPI-F3 ist für einen SBC recht groß - und gut ausgestattet. (Bild: Johannes Hiltscher/Golem.de)
Der Banana Pi BPI-F3 ist für einen SBC recht groß - und gut ausgestattet. Bild: Johannes Hiltscher/Golem.de

Ein Notebook mit RISC-V-Chip, das klingt doch spannend - dachten wir, als wir kürzlich über das DC-Roma 2(öffnet im neuen Fenster) des chinesischen Herstellers Deepcomputing stolperten. Auch das verbaute System-on-Chip (SoC) klingt vielversprechend: Es handelt sich um ein Spacemit K1 mit acht Kernen, die der RISC-V-Architekturspezifikation von 2022 (RVA22) entsprechen und über eine 256-Bit-Vektoreinheit verfügen. Im Test sorgte aber die unfertige Software für einigen Frust - auch wenn das SoC als Entwicklungsplattform interessant ist.

Wir haben uns für unseren Test anstatt für den DC-Roma 2 für den Banana Pi BPI-F3 entschieden, auf dem das gleiche SoC verbaut ist. Die Ausstattung des mit 148 x 100 mm recht großen Single Board Computers (SBC) lässt kaum Wünsche offen: Neben einem Steckplatz für NMVe-SSDs ist ein Mini-PCIe-Slot verbaut, in den etwa ein Sata-Adapter oder ein UMTS-Modem installiert werden können. Für beides ist zusätzliche Hardware vorhanden: ein Header für die Spannungsversorgung einer Sata-SSD sowie ein Slot für eine SIM-Karte.

Auch bei den Anschlüssen geizt der SBC nicht: Vier USB-3.0-Ports, USB-2.0-OTG, zweimal GBit-LAN, ein WLAN/Bluetooth-Modul, drei Varianten für die Spannungsversorgung (USB-C, Hohlstecker, Power-over-Ethernet) können sich sehen lassen.

Die Bildausgabe erfolgt über eine HDMI-Buchse, Audio kann entweder ebenfalls über HDMI oder per 3,5-mm-Klinkenstecker ausgegeben werden. Alternativ können zwei Lautsprecher direkt angeschlossen werden. Für Bastler hat der SBC mit 26-poliger GPIO-Leiste, die zum alten Raspberry-Pi-Format kompatibel ist, zwei verbauten Mikrofonen sowie DSI- und CSI-Anschlüssen einiges zu bieten - Letztere nutzen leider andere Formfaktoren als beim Raspberry Pi.

Augen auf bei der Betriebssystemwahl

Die Dokumentation des Herstellers(öffnet im neuen Fenster) ist knapp, aber für den Start ausreichend. Hochmotiviert laden wir uns hier ein Betriebssystem-Image herunter: Armbian, das klingt vertraut. Denn das verbaute eMMC-Modul ist leer. Die Freude verfliegt allerdings schnell, als das Betriebssystem gestartet ist: Es ist zwar nicht so träge wie beim Visionfive 2 ( Test ), aber der GPU-Treiber fehlt.

Nach dem Umstieg auf Bianbu, eine von Spacemit gepflegte Distribution, hellt sich unsere Laune wieder etwas auf. Hier ist nicht nur der GPU-Treiber installiert, sondern auch deutlich mehr Anwendungen sowie zwei Beispiele, welche Spacemits Befehlssatzerweiterung für KI-Beschleunigung nutzen.

Theoretisch können wir auch ein eigenes Linux-Image bauen, da ein angepasster Linux-Kernel sowie der Bootloader U-Boot über Github bereitgestellt werden. Ohne den Hersteller geht es aber nicht. Wie bei so ziemlich allen SBCs, abgesehen vom Raspberry Pi, pflegen die Entwickler von Spacemit ihren Code nicht in den Mainstream-Linux-Kernel ein.

Zumindest beim Treiber für die Imagination-GPU gibt es aber erfreuliche Neuigkeiten: Der wurde nach jahrelanger Arbeit in den Kernel 6.8 aufgenommen(öffnet im neuen Fenster) . Leider haben wir davon aber wenig, da Spacemit aktuell auf Basis des Kernels 6.1.15 arbeitet - dem Longterm-Release von Ende 2022.

Mehr Freude mit SSD

Nachdem das Betriebssystem zweimal eine gefühlte Ewigkeit für eine Aktualisierung gebraucht hat - über die Banana-Pi-Dokumentation wird eine alte Version von Bianbu verteilt, Spacemit ist bereits zwei Releases weiter - beschließen wir, es erst einmal auf eine SSD umzuziehen, bevor wir mit dem Testen beginnen.

Das ist erfreulich einfach: Zunächst passen wir die die Parameter für den Linux-Kernel an. Die finden sich in der Datei /boot/env_k1-x.txt , hier hängen wir Folgendes an:

        
init=/init
nvme_root=/dev/nvme0n1p6

commonargs=setenv bootargs earlyprintk console=tty1 clk_ignore_unused swiotlb=65536 init=${init} root=${nvme_root}
autoboot=run commonargs; run detect_dtb; run loadknl; run loaddtb; run loadramdisk; bootm ${kernel_addr_r} ${ramdisk_combo} ${dtb_addr};

Anschließend kopieren wir mit sudo dd if=/dev/mmcblk0 of=/den/nvme0n1 den kompletten Inhalt der SD-Karte auf die SSD. Die SD-Karte muss allerdings im Board bleiben, von hier wird der Bootloader geladen. Alternativ können wir diesen in das verbaute eMMC-Modul installieren - das ist allerdings etwas aufwendiger. Sinovoip, der Entwickler des Banana Pi, stellt zudem ein Tool bereit, mit dem sich Betriebssystem-Images in das eMMC-Modul installieren lassen.

Da Daten nun über zwei PCIe-2.1-Lanes zum SoC fließen, starten System und Anwendungen spürbar schneller - auch wenn weiterhin deutliche Verzögerungen bleiben. Zeit also für ausgiebigere Tests, bei denen wir über einige unerwartete Designentscheidungen und unreife Software stolperten.

Nicht schlecht, aber auch nicht wirklich gut

Erst einmal sieht es dabei erfreulich aus: Alle benötigte Software finden wir im Software-Repository der Distribution. Voller Vorfreude lassen wir die High Performace Computing Challenge (HPCC) laufen, der den High Performance Linpack (HPL) und den Speicher-Benchmark Stream umfasst. Als die Ergebnisse da sind, trauen wir unseren Augen kaum: Angeblich kommt das SoC gerade einmal auf etwas mehr als 1 GFlops Gleitkommarechenleistung.

Wir vermuten einen Fehler und lassen erst einmal Geekbench laufen. Der bescheinigt dem Spacemit K1 zumindest einmal eine höhere Leistung als Starfives JH7110 - in erster Linie aufgrund der doppelten Anzahl an Kernen. Die einzelnen Kerne können sich nur marginal von der RISC-V-Konkurrenz absetzen. Immerhin kann der K1 das BCM2711 des Raspberry Pi 4 bei der Integer-Leistung fast einholen. Aber auch hier ist die Voraussetzung, dass alle Kerne ausgelastet werden können.

Positiv überrascht sind wir beim Packprogramm 7zip: Bei der Kompression überholt der K1 den Raspberry Pi 4, dessen Nachfolger kommt er beim Entpacken unerwartet nahe. Inzwischen haben wir beschlossen, den HPL schnell selbst zu kompilieren. Hier zeigen sich bereits bessere Werte, etwas enttäuscht sind wir dennoch: Anfangs messen wir verglichen mit dem JH7110 bei 100 Prozent mehr Kernen lediglich 50 Prozent mehr Leistung. Das sehen wir uns genauer an.

Getrennte Cluster-Welten

Unsere Vermutung: Der Grund könnte sein, dass die acht Kerne des K1 in zwei Clustern organisiert sind, von denen auch nur eines über die KI-Erweiterung verfügt. Lassen wir nur eines der Cluster rechnen, kommt das SoC immerhin auf 3 GFlops.

Der selbst kompilierte HPL ist zudem sowohl mittels OpenMP über Threads als auch mittels Message Passing über MPI parallelisiert. Wir stellen fest, dass MPI rund 10 Prozent Leistung kostet. Also lassen wir noch einmal alle acht Kerne rechnen, allerdings mit acht Threads anstelle von acht MPI-Prozessen. Damit kommt das SoC auf 70 Prozent der Gleitkommaleistung des BCM2711 ohne Verwendung der ARM-Vektorerweiterung.

Da wir die Bibliothek für lineare Algebra (OpenBLAS), mit der HPL seine Berechnungen ausführt, nicht kompiliert haben, ist davon auszugehen, dass der K1 nicht von seiner Vektorerweiterung profitiert. Hier dürfte also noch Potenzial schlummern. Ob es sich nutzen lässt, ist allerdings eine andere Frage. Denn beim HPL sehen wir Lastspitzen von bis zu 9 Watt, das Package des SoC erwärmt sich auf knapp 90° C.

Eine stark fluktuierende Leistungsaufnahme lässt zudem vermuten, dass das SoC die Taktfrequenz senkt. Wie dem Raspberry Pi 5 ( Test ) tut dem BPI-F3 definitiv Kühlung gut - nicht ohne Grund haben die Entwickler einen Lüfteranschluss verbaut. In anderen Fällen liegt die Leistungsaufnahme zwischen 4 Watt bei ruhendem Desktop und 6 Watt.

Geteilter Speicher ist halbe Bandbreite

Ebenfalls stutzig macht uns das Ergebnis des Speicherbenchmarks Stream, den wir ebenfalls schnell selbst kompiliert haben. Auf dem Board ist ein 4-GByte-LPDDR4X-Modul von Samsung verbaut. Mit 32 Bit angebunden, sollte es eine Datenrate von über 10 GByte/s erreichen - wir sehen aber bei einem Thread nur etwa die Hälfte. Auch hier vermuten wir den Grund wieder in der Aufteilung der Kerne in zwei Cluster, solch seltsames Verhalten kennen wir zudem bereits vom JH7110.

Also starten wir den Benchmark parallel auf einem Kern in beiden Clustern. Damit knackt der K1 dann knapp die Marke von 10 GByte/s. Jedes der Cluster scheint also lediglich mit etwa der halben Speicherbandbreite an das interne Kommunikationssystem des SoC angebunden zu sein. Das ist aus Sicht der Chipentwickler verständlich, spart es doch Leiter und verringert damit die Komplexität des Designs.

Gespart haben die Entwickler auch noch an anderer Stelle: bei der Grafikeinheit.

An der Grafik gespart

Eine weitere Überraschung erwartet uns beim Test der Grafikeinheit mit glmark2-es2 und vkmark. Bei Full-HD-Auflösung schneidet der K1 deutlich schlechter ab als der JH7110 - obwohl beide mit der BXE-32 von Imagination die gleiche Grafikeinheit nutzen.

Ein genauerer Blick in die Dokumentation des SoC(öffnet im neuen Fenster) offenbart aber, dass Spacemit nur zwei Shader Cluster verbaut. Die takten allerdings mit bis zu 819 MHz höher als die vier des Starfive-SoCs, die auf maximal 600 MHz kommen.

Der Abstand zwischen OpenGL und Vulkan ist zudem geringer als beim JH7110, da Bianbu mit Mesa 22.3.5 eine aktuellere OpenGL-Version mitbringt als seinerzeit das Linux-Image für das Visionfive 2. Hier gab es in den vergangenen Jahren große Entwicklungsschritte, dank denen etwa die Grafikleistung des Raspberry Pi 4 um über 150 Prozent zulegte.

Das alles bringt aber nur etwas, wenn man es auch nutzt - und das tut der Fenster-Manager, Bianbu verwendet Gnome, offensichtlich nicht. Anders sind 70 Prozent Last auf einem Kern beim Bewegen eines Fensters nicht zu erklären.

Das Gleiche gilt für den Video-Decoder: Im Browser Chromium wird der nicht genutzt, weshalb etwa Youtube-Videos mit höherer Auflösung als 480p unangenehm ruckeln und das SoC an seine Grenzen treiben. Dass es anders geht, zeigt der vorinstallierte Videoplayer MPV: Da er auf die Decoder-Hardware zurückgreift, laufen Videos hier flüssig und mit minimaler CPU-Last. Insgesamt bleibt der K1 damit hinter den Erwartungen zurück, welche die vollmundigen Versprechen von Spacemit wecken.

Ein Chip, zwei Varianten

Laut Spacemit sollen die selbstentwickelten X60-Kerne, die im K1 stecken, im Vergleich zu einem ARM Cortex-A55 eine um 30 Prozent höhere "allgemeine Rechenleistung" haben - was auch immer das heißt. Unsere Tests bestätigen das nicht, hier ist der einzelne Kern lediglich marginal schneller als ein U74-Kern des Starfive JH7110. Die Rechenleistung der einzelnen Kerne ist damit mit einem Raspberry Pi 3 vergleichbar.

Übertreibt Spacemit also mit seiner Aussage? Nicht zwangsläufig, denn der K1 wird in mindestens zwei Varianten verkauft. Das auf dem BPI-F3 verbaute Modell taktet mit maximal 1,6 GHz, im DC Roma 2 hingegen ist eine Variante verbaut, die bis zu 2 GHz erreicht. Bei der könnten die Kerne tatsächlich etwa 30 Prozent schneller sein als etwa beim Raspberry Pi 3 - auch wenn hier nur Cortex-A53 verbaut sind.

Wie aber lassen sich die Varianten unterscheiden? Sinovoip, der Hersteller des Banana Pi BPI-F3, macht nirgendwo eine genauere Angabe zum SoC. Zudem wird dieses an einigen Stellen als K1 bezeichnet, an anderen als K1X. Auf einem der Bilder ist das SoC zudem mit anderem Package abgebildet: Während auf unserem Board ein Kunststoffgehäuse sitzt, ist hier ein Heatspreader aus Metall zu sehen. Auch das Layout der Platine unterscheidet sich - möglicherweise handelt es sich um ein Vorserienmodell.

Deepcomputing hingegen gibt für das Notebook DC Roma 2 explizit an, dass das SoC mit bis zu 2 GHz taktet. Anzunehmen ist, dass auch die Angabe von 2 TOps Rechenleistung für die KI-Erweiterung sich auf das 2-GHz-Modell bezieht.

Kommen wir damit zum Fazit und zur Frage, ob ein Notebook mit dem Spacemit K1 eine gute Idee ist.

Banana Pi BPI-F3 mit Spacemit K1: Verfügbarkeit und Fazit

Reden wir aber erst einmal über den Preis: Aktuell ist der BPI-F3 lediglich über Aliexpress und Amazon zu beziehen. Angeboten werden zwei Varianten mit 2 GByte RAM und 8-GByte-eMMC-Modul sowie 4 GByte RAM und 16 GByte eMMC. Die kleinere Variante kostet bei Aliexpress inklusive Versand aktuell rund 70 Euro, die größere liegt bei knapp über 80 Euro. Bei Amazon liegen die Preise mindestens 25 Prozent höher.

Sollten die maximal 4 GByte RAM zu knapp sein, lohnt ein Blick auf den Lichee Pi 3A(öffnet im neuen Fenster) : Er kommt mit dem gleichen SoC, aber bis zu 16 GByte RAM. Das Mainboard ist zudem mit zwei NVMe-Slots ausgestattet.

Wer den SBC mitnehmen möchte - ein Argument für den DC-Roma 2 - bekommt für knapp über 10 Euro noch ein Acrylgehäuse, Kühlkörper zum Aufkleben sowie einen Lüfter. Um das WLAN-Modul zu nutzen - das übrigens bei uns in einem IEEE-802.11n-Netzwerk ordentliche Leistung zeigte - sollte noch zwei Antennen mit U.FL-Buchse(öffnet im neuen Fenster) kaufen. Zwar funktioniert das Modul auch ohne, die Signalqualität ist dann aber miserabel. Um PoE nutzen zu können, muss zudem ein zusätzliches Modul eingelötet werden.

Für den DC-Roma 2 zahlen Interessenten deutlich mehr: Fast 500 Euro kostet das Gerät, wovon 129 Euro für Versand und Versicherung anfallen. Ein stolzer Preis, auch wenn es dafür 8 GByte RAM gibt.

Als Arbeitsgerät nicht zu empfehlen

Als Deepcomputing ein RISC-V-Mainboard für den Framework Laptop 13 vorstellte , erntete unsere Einschätzung, dass damit Frust vorprogrammiert sei, einige empörte Kommentare. Wir bleiben aber bei diesen Fazit, denn auch den Spacemit K1 können wir uns nur schwerlich für die tägliche Arbeit vorstellen. Dafür ist einfach die Leistung zu gering; auch den Raspberry Pi 3 würde niemand ernsthaft als Ersatz für einen PC oder ein Notebook in Erwägung ziehen.

Die Benchmarks verzerren hier sogar das Bild. Dabei handelt es sich stets um Anwendungen, die acht Kerne (und teils deutlich mehr) auslasten können. Das gilt aber insbesondere für viele Alltagsanwendungen nicht. Mit dem installierten Libreoffice lässt sich ordentlich tippen, keine Frage.

Der Start ist allerdings bei allen Anwendungen trotz NVMe-SSD sehr träge. Chromium hingegen ist eine echte Tortur. Es dauert rund 10 Sekunden, bis der Browser überhaupt gestartet ist, scrollen wir über die Golem.de-Homepage, vergehen teils drei Sekunden, bis das Bild aufgebaut ist. Dabei lastet der Browser bis zu sechs Prozessorkerne aus.

Im DC-Roma 2 taktet das SoC noch einmal bis zu 40 Prozent schneller, entsprechend dürfte sich damit flüssiger arbeiten lassen. Allerdings finden wir dessen Preis selbst für RISC-V-Enthusiasten unvernünftig hoch, die angekündigte Variante mit 16 GByte RAM erscheint uns nicht wirklich sinnvoll.

Das alte Kreuz mit der Software ...

Als Entwicklungsplattform gefallen uns das SoC und der BPI-F3 hingegen gut. Wer eine Alternative zum Raspberry Pi sucht, kann hier einen Blick wagen, zumal auch der Preis angemessen ist.

Die gleiche Benutzerfreundlichkeit wie beim Pi darf man allerdings nicht erwarten. Bei Geräten mit Spacemit K1 funktioniert nicht einfach alles so, aber dafür gibt es einige Besonderheiten zu erkunden. Auch Bianbu hinterlässt einen zwiespältigen Eindruck: Es funktioniert zwar deutlich besser als beim Visionfive 2, ist aber an vielen Stellen unfertig. Die fehlende GPU-Beschleunigung bei Gnome ist da nur ein Aspekt.

Dass der Linux-Kernel uns erst einmal mit einem Hinweis begrüßt, dass er für Debugging kompiliert wurde und nicht für den Produktiveinsatz verwendet werden sollte, wirft dann aber die Frage auf, wie viel Arbeit in die Softwareentwicklung gesteckt wird. Da erscheint es fraglich, ob der Kernel-Code von Spacemit jemals im offiziellen Linux-Kernel landet.

Das relativiert auch den Open-Source-Gedanken, den Banana Pi hochhält: Am Ende sind Nutzer doch auf die vom Hersteller bereitgestellten Repositories angewiesen - es sei denn, jemand macht sich die Mühe, alle Änderungen herauszusuchen und zu portieren.


Relevante Themen