RTX 5090 und M4 MacBook Air: Kann man damit spielen?
(scottjg.com)- An ein M4 MacBook Air wurde eine RTX 5090 eGPU angeschlossen, und Spiele wurden in einer Linux-VM ausgeführt; dafür mussten das Fehlen von macOS-Treibern und Thunderbolt-Beschränkungen umgangen werden
- Für die Umsetzung waren ein virtuelles PCI-Gerät apple-dma-pci, das Umgehen von DART-Mappings, ein kprobes-basierter Patch für den NVIDIA-Treiber sowie Änderungen an QEMU/HVF nötig
- Cyberpunk 2077 lief auf dem M4 Air + eGPU mit 4K RT Ultra 27 fps und wurde mit DLSS-Frame-Generation bei bis zu 111 fps spielbar
- Steckt dieselbe RTX 5090 in einem normalen PCIe-PC, ist sie je nach Spiel 2- bis 4-mal schneller; FEX-, Proton-, VM- und Thunderbolt-Overhead bleiben erheblich
- Noch größer ist der Effekt bei AI-Inferenz: Das Qwen-Prefill des M4 Air verkürzt sich um etwa das 100-Fache, und die Single-Stream-Generierung steigt von rund 22 tok/s auf 155 tok/s
Grenzen von Thunderbolt-eGPU und Apple-Silicon-Macs
-
Aufbau einer Thunderbolt-eGPU
- Eine Desktop-GPU wie die RTX 5090 wird in ein Thunderbolt-Dock gesteckt, das PCIe in Thunderbolt umsetzt und dann über den USB-C-Port mit dem M4 MacBook Air verbunden wird
- Thunderbolt tunnelt PCIe über ein USB-C-Kabel, daher erscheint das Thunderbolt-Gerät aus Sicht des Computers nicht als USB-, sondern als PCIe-Gerät
- Thunderbolt 4 bietet maximal 40 Gbit/s mit 4 PCIe-Lanes, wobei durch das Tunneling ein kleiner Leistungsverlust entsteht
- Unter Linux und Windows wird eine eGPU normalerweise wie ein etwas langsameres PCIe-Gerät erkannt und funktioniert mit bestehenden Treibern fast sofort
- Das erste Hindernis ist, dass macOS auf Apple Silicon standardmäßig keine NVIDIA- oder AMD-GPU-Treiber mitliefert
-
Umgehung per Linux-VM
- Linux auf Apple-Silicon-Macs auszuführen ist möglich, aber der aktuelle Linux-Kernel unterstützt auf Apple Silicon noch kein Thunderbolt, sondern nur interne Geräte und USB3
- Führt man auf dem macOS-Host eine 64-Bit-ARM-Linux-VM aus, kann macOS die Thunderbolt-Geräte verarbeiten und Linux die NVIDIA-GPU
- Für ARM64-Windows gibt es keine NVIDIA-Kartentreiber, daher wurde Linux verwendet
- Der macOS-eGPU-Treiber von tinygrad funktioniert nur innerhalb des tinygrad-Stacks und eignete sich daher nicht als allgemeiner Treiber für AI-Inferenz oder Spiele
PCI-Passthrough unter macOS implementieren
-
PCI BAR und DMA
- Damit eine VM mit einem PCI-Gerät kommunizieren kann, müssen PCI BARs (Base Address Registers) und DMA funktionieren
- PCI BARs sind Speicherbereiche, die ein PCI-Gerät zum Lesen und Schreiben mit dem Computer verwendet; damit PCI-Passthrough funktioniert, müssen diese Bereiche in die VM gespiegelt werden
- DMA (Direct Memory Access) ist ein Verfahren, bei dem das Gerät direkt auf den Arbeitsspeicher des Computers zugreift, ohne dass die CPU Daten kopieren muss
-
Hypervisor.framework und BAR-Mapping
- Beim Start einer VM ruft QEMU
Hypervisor.frameworküberhv_vm_map()auf, um das Speicherlayout des Gasts einzurichten - Verbindet man sich mit dem PCIDriverKit-Treiber auf dem Host und mappt mit
IOConnectMapMemory64()den Gerätespeicher in den Prozess, lässt sich BAR0-Speicher lesen - Liest man
BAR0[0], wird0x1b2000a1ausgegeben, eine gerätespezifische Konstante der RTX 5090 - Wenn QEMU den Gerätespeicher direkt in den Gast mappt, kann der Gast unmittelbar mit der GPU kommunizieren, aber anfangs stürzte der Host-Kernel ab, sobald die VM den PCI-BAR-Speicher berührte
- Die Ursache war, dass QEMU auch bei RAM-Gerät-/MMIO-Mappings
HV_MEMORY_EXECsetzt; durch einen Workaround, derEXECbei Gerät-/MMIO-Mappings entfernt, ließ sich die Host-Panic vermeiden - Dieser Ansatz ist etwa 30-mal schneller als das Abfangen jedes einzelnen Zugriffs, aber weil
hv_vm_map()keinen ARM-Device-Memory-Subtype angeben kann, sind BAR-Schreibzugriffe etwa 10-mal langsamer als im Normalfall
- Beim Start einer VM ruft QEMU
DMA- und DART-Beschränkungen umgehen
-
Grenzen von DART auf Apple Silicon
- Apple Silicon besitzt eine hardwareseitige Einheit namens DART, ähnlich einer IOMMU, die auch als Sicherheitsgrenze dient, damit Geräte nicht beliebig auf Host-Speicher zugreifen können
- Bei Thunderbolt-Geräten über PCIDriverKit waren drei Einschränkungen besonders gravierend
- Wegen eines Mapping-Limits von etwa 1,5 GB lassen sich die für CUDA und moderne Spiele nötigen Speicherabbildungen im Bereich von 8–16 GB nicht einfach beibehalten
- Wegen einer Obergrenze von rund 64k Mappings laufen Mapping-Tabellen voll, wenn viele kleine DMA-Puffer verwendet werden
- Adresse und Alignment lassen sich nicht direkt wählen, daher passt ein virtuelles IOMMU-Modell, bei dem der Gast die DMA-Adresse festlegt, nicht gut
- Ein Ansatz mit
restricted-dma-pool, der DMA auf einen vorallokierten Bereich beschränkt, funktionierte bei einfachen Geräten, passte aber nicht zum GPU-Treiber
-
Virtuelles PCI-Gerät
apple-dma-pci- QEMU wurde um ein virtuelles PCI-Gerät namens
apple-dma-pcierweitert, das zusammen mit der durchgereichten GPU in die VM eingefügt wird - Ein Gast-Kernel-Treiber fängt die DMA-Mapping-Aufrufe des NVIDIA-Treibers ab, erstellt für jede DMA-Anfrage bei Bedarf ein Mapping und entfernt es wieder, sobald der Puffer freigegeben wird
- In dieser Struktur muss nicht der gesamte Gast-RAM, sondern nur das jeweils aktive Working Set der DMA-Puffer innerhalb des 1,5-GB-Limits bleiben
- Der Gast-Treiber ersetzt, bevor der NVIDIA-Treiber die GPU verwendet, dessen DMA-Operationen durch benutzerdefinierte DMA-Ops und behandelt
map_page,unmap_page,map_sg,unmap_sg,allocundfreeals dünne Wrapper - Auf der Host-Seite leitet QEMU die Anfrage an den PCIDriverKit-Treiber weiter, der das eigentliche DART-Mapping ausführt und anschließend die DMA-Adresse zurück in den Gast-Speicher schreibt
- QEMU wurde um ein virtuelles PCI-Gerät namens
-
NVIDIA-Alignment-Problem und kprobes-Patch
- Beim Ausführen von CUDA-Workloads traten Kernel-Logs mit
NV_ERR_INVALID_OFFSETund Alignment-Problemen rund umRM_PAGE_SIZE_HUGEauf - Die problematische Allokation war eine 16-MB-Allokation vom Typ
UVM_RM_MEM_TYPE_SYS, bei der der NVIDIA-Treiber mit 2-MB-Pages arbeitete und dadurch in Konflikt mit den Alignment-Vorgaben geriet - Im Treiber gab es bereits einen Workaround, der bei
NV_ERR_NO_MEMORYmit der Standard-Page-Größe erneut versucht, aberNV_ERR_INVALID_OFFSETnicht behandelte - Mithilfe von kprobes im Linux-Kernel wurde bei Aufrufen von
nvUvmInterfaceMemoryAllocSys()pageSizeaufUVM_PAGE_SIZE_DEFAULTerzwungen - So ließ sich auch ohne Änderungen am NVIDIA-Treiber eine kleinere Page-Größe anfordern, wodurch einfache Workloads funktionierten
- Beim Ausführen von CUDA-Workloads traten Kernel-Logs mit
-
Mit Mapping-Koaleszierung die 64k-Grenze umgehen
- Bei höheren Spieleinstellungen entstehen viele kleine Mappings, wodurch die Grenze von rund 64k Mapping-Einträgen überschritten wird
- In den Mapping-Logs waren über 90 % der Mappings 4 kB groß; sie waren nicht zusammenhängend, traten aber in Clustern auf
- Der Gast-Speicher wurde in Regionen fester Größe wie 256 kB aufgeteilt; wenn ein 4-kB-Puffer gemappt wurde, wurde der ganze Cluster gemappt, sodass spätere Allokationen im selben Cluster das bestehende Mapping wiederverwenden konnten
- Dieses Verfahren mappt etwas mehr Speicher als die tatsächlich aktiven Puffer, blieb in den getesteten Workloads aber unter der Grenze von etwa 1,5 GB
- Die Zahl aktiver Mappings sank dadurch um etwa das 4-Fache, was genug Spielraum schuf, um anspruchsvolle Spiele mit höchsten Einstellungen zu starten
VM-Performance verbessern
-
vCPU-Scheduling
- Ein Problem war, dass Benchmark-Ergebnisse stark zufällig schwankten und oft 50 % langsamer ausfielen
- Offenbar setzte QEMU für vCPU-Threads keine Priorität, sodass der Scheduler der VM nicht genug Laufzeit gab
- Durch einen Patch im QEMU-Startpfad der vCPU mit
pthread_set_qos_class_self_np(QOS_CLASS_USER_INTERACTIVE, 0)undpthread_setschedparam(..., SCHED_RR, ...)wurde eine hohe Priorität vergeben
-
Total Store Ordering und FEX-Emu
- Die VM läuft mit arm64-Linux, aber die meisten kommerziell verfügbaren Spiele sind x86-64-Windows-Binaries, daher wurden Proton) und FEX-Emu zusammen verwendet
- x86 verwendet Total Store Ordering (TSO), bei dem Stores für andere Kerne in Programmreihenfolge sichtbar werden, während ARM ein schwächeres Speicherordnungsmodell nutzt
- Apple Silicon besitzt einen hardwareseitigen TSO-Modus pro Thread, den
Hypervisor.frameworkab macOS 15+ verfügbar macht - Es wurde ein Patch von UTM übernommen, um auf der vCPU in
ACTLR_EL1Bit 1 zu setzen und die softwarebasierte TSO-Emulation von FEX-Emu abzuschalten - Schaltet man die softwarebasierte TSO-Emulation ohne das Hardware-Bit ab, stürzt Geekbench 6 mitten im Lauf ab
- Die Gastleistung mit FEX und CPU-TSO liegt etwa 50 % unter der nativen Host-Performance
Spieleleistung
-
Cyberpunk 2077
- Cyberpunk 2077 wurde auf M4 Air mit nativem macOS, M4 Air + eGPU, einem Intel MacBook Pro 2020 + eGPU, M5 Max mit nativem macOS, M5 Max + eGPU sowie einem Gaming-PC mit i5-12600K + RTX 5090 getestet
+ Framegenverwendet in eGPU-/nativem-PCIe-Setup DLSS 4x und bei nativen macOS-Konfigurationen FSR 2x- Bei 720p Low war die GPU-Last gering, daher dominierten CPU- sowie Emulations-/Virtualisierungs-Overhead; das M4 Air nativ mit 61 fps war schneller als das M4 Air + eGPU mit 49 fps
- Bei 1080p High war das M5 Max mit nativem macOS mit 131 fps schneller als das M5 Max + eGPU mit 68 fps; wenn die integrierte GPU ausreicht, wirkt sich der Overhead stärker aus
- Das M4 Air mit nativem macOS kam bei 1080p RT Ultra nur auf 7 fps, das M4 Air + eGPU dagegen auf 30 fps und mit Frame-Generation auf 119 fps
- In 4K wird die GPU zum Flaschenhals; das M4 Air + eGPU erreichte bei RT Ultra 27 fps und mit DLSS-Frame-Generation 111 fps, also ein spielbares Niveau
- Der Gaming-PC mit nativer PCIe-Anbindung war mit 100 fps bei 4K RT Ultra und 282 fps mit DLSS-Frame-Generation am schnellsten
- Das M5 Max + eGPU erreichte bei 4K RT Ultra 47 fps und mit Frame-Generation 145 fps und war damit ungefähr 30–70 % schneller als das M4 Air + eGPU
-
Andere Spiele und Benchmarks
- In GravityMark sank die Leistung um etwa 20 %, wenn dieselbe GPU statt über einen PCIe-Slot über Thunderbolt angebunden wurde; das M4 Air + eGPU war etwa 31 % langsamer als eine native PCIe-Anbindung
- In Shadow of the Tomb Raider hob die eGPU das M4 Air bei 4K nativ von 8 fps auf 40 fps an und verbesserte auch 1080p von nativen 26 fps auf 42 fps
- Die eGPU-Leistung in Shadow of the Tomb Raider war bei 1080p und 4K fast gleich, was zeigt, dass der Flaschenhals nicht die GPU, sondern die CPU unter FEX ist
- Horizon Zero Dawn Remastered verlangte selbst mit den niedrigsten 720p-Einstellungen mehr als 1,5 GB DMA-Speichermapping auf einmal, sodass der Benchmark nicht starten konnte
- Doom (2016) lief in der eGPU-Konfiguration und erreichte laut Performance-Overlay 49 fps, blieb dabei stets über 30 fps
- Crysis Remastered war bis zu etwa 4-mal langsamer als auf dem Gaming-PC, lief aber auch auf dem M4 MacBook Air mit spielbaren Frameraten
AI-Inferenzleistung
-
Qwen 3.6
- Getestet wurde ein Qwen-35B-MoE-Modell in 4-Bit-Quantisierung mit 3B aktiven Parametern
- Auf der NVIDIA-GPU kamen vLLM und die NVFP4-Version zum Einsatz, auf Apple Silicon vllm-mlx und ein 4-Bit-MLX-quantisiertes Modell
- Die Benchmarks wurden mit
llama-benchyausgeführt - Die Thunderbolt-eGPU verlor gegenüber PCIe etwa 9 % Leistung, blieb aber ziemlich nah an PCIe, weil der Großteil der Verarbeitung auf der Karte selbst stattfand
- Die RTX 5090 war bei der Single-Stream-Generierung 6,5-mal schneller als das M4 Air, 2,1-mal schneller als das M4 Max Mac Studio und 1,2-mal schneller als das M5 Max MacBook Pro
- Bei einem 4K-Token-Prompt brauchte das M4 MacBook Air für das Prefill 17 Sekunden, mit derselben M4-Air-Konfiguration plus eGPU sank das auf 150 ms und war damit 120-mal schneller
- Erhöhte man die Zahl paralleler Anfragen von 1 auf 4, stieg der Gesamtdurchsatz der RTX-5090-Konfiguration um etwa das 3-Fache, während Apple-Silicon-Macs schlechter skalierten
-
Gemma 4
- Gemma 4 31B ist kein sparsames MoE, sondern ein dichtes 31B-Modell, bei dem jedes Token durch alle Parameter laufen muss
- Die integrierte GPU des M4 Air kam in den Tests nicht über 2–3 Token pro Sekunde hinaus und wurde damit als praktisch unbrauchbar eingestuft
- Alle vLLM-basierten RTX-5090-Konfigurationen lagen mit rund 50 t/s innerhalb weniger Prozentpunkte beieinander; das M4 Max Mac Studio erreichte rund 22 t/s, das M5 Max MacBook Pro rund 27 t/s
- Auch beim Prefill blieb die RTX 5090 stets unter 400 ms, während das M4 Max für das Parsen eines 4K-Token-Prompts bis zu 21 Sekunden und das M5 Max etwa 7,5 Sekunden brauchten
- Die vLLM-Konfigurationen erzielten bei 4 gleichzeitigen Anfragen etwa den 3,5-fachen Durchsatz, während das MLX-Backend auf dem Mac bei 4 Requests kaum weiter zulegte
Direkt nutzbar und stabil?
-
Deployment- und Build-Voraussetzungen
- Im aktuellen Zustand ist das Ganze noch nicht auf dem Niveau „herunterladen und direkt starten“, da ein spezielles Apple-Entitlement erforderlich ist
- Dieses Entitlement wurde angefragt, aber es gibt noch keine Antwort; die Wartezeit kann mehrere Monate betragen
- In der Zwischenzeit lässt sich der Treiber selbst bauen, wobei der betreffende Mac im Signaturzertifikatskonto enthalten sein muss
- Weder das Deaktivieren von SIP noch ein Reduced Security Mode sind nötig
- Der Code ist unter qemu-vfio-apple verfügbar
- Der enthaltene Launcher lädt automatisch ein vorkompiliertes Ubuntu-Image herunter, in dem bereits der spezielle
apple_dma-Treiber installiert ist
-
Stabilität
- Die Stabilität ist derzeit noch nicht gut
- In FEX gibt es aktuell einen Bug, bei dem Steam häufig in einer Schleife abstürzt, und in dieser Konfiguration scheint das Problem noch gravierender zu sein
- Das Starten bestimmter Spiele kann mehrere Minuten dauern
- Wegen des DMA-Mapping-Limits können Mappings im Lauf der Zeit fragmentieren, sodass womöglich kein Platz mehr für ein neues Spiel bleibt
- In diesem Fall muss die Linux-VM gestoppt und die GPU ab- und wieder angesteckt werden, um alle DMA-Mappings zu löschen, bevor man es erneut versucht
- Am stabilsten läuft derzeit AI, und für diesen Einsatzzweck funktioniert die Lösung sehr gut
- Es wird daran gearbeitet, die Patches in Upstream-QEMU zu integrieren; idealerweise soll das Ganze am Ende in gängigen QEMU-Distributionen wie UTM enthalten sein und sofort funktionieren
1 Kommentare
Hacker-News-Kommentare
Ich habe das VM-Team seit Jahren um VM-GPU-Passthrough gebeten. Ich habe an Apple-Silicon-Mac-Pro-Arbeit gearbeitet, und es hätte viel mehr Sinn ergeben, wenn man eine GPU im Gehäuse an eine Linux-VM hätte durchreichen können
Leider wurde die Anfrage nicht angenommen, aber es ist cool, dass andere es zum Laufen gebracht haben
Am Ende wirkt es wie eine Frage, ob ein Virtual-Machine-Monitor wie QEMU diese Schnittstelle zusätzlich zu etwas wie Linux VFIO übernimmt. Wenn von Virtualization.framework die Rede ist, dann ist das selbst schon fast eine Art Virtual-Machine-Monitor, daher frage ich mich, was in macOS aus dieser Sicht genau fehlen soll
Kürzlich wurden auch in QEMU-Mainline Patches aufgenommen, die zusammen mit virtio-gpu einen „venus server“ verwenden, um Ähnliches für Linux-Gäste unter Hypervisor.framework zu unterstützen. Zweitens scheint es intern bei Apple Unterstützung für PCI-Passthrough für Virtualization.framework zu geben. Der Framework-Code selbst wird zwar an Kunden ausgeliefert, scheint aber von kexts oder Kernel-Komponenten abzuhängen, die in normalem macOS nicht enthalten sind. Ich weiß nicht, ob Apple jemals vorhat, das öffentlich freizugeben, aber es ist klar, dass bei Apple jemand über diese Funktion nachgedacht hat
Wie auch immer, der Mac Pro ist inzwischen ein totes Produkt. Mit Verkäufen nur an Audio-/Video-Profis ist eben irgendwann Schluss
Großartiger Beitrag. Die Gaming-Benchmarks sind unterhaltsam, aber praktisch gesehen ist der Teil über LLM-Leistungsverbesserungen wirklich interessant
Apples Plattform ist dank viel RAM ein zugängliches Umfeld, in dem sich lokale Modelle leicht ausführen lassen, aber die relativ langsame Prompt-Verarbeitung wird oft übersehen. Wie im Beitrag zitiert, braucht das M4 MacBook Air bei einem 4K-Token-Prompt 17 Sekunden fürs Parsen, bevor es mit der Antwortgenerierung beginnt; mit eGPU sind es nur 150 ms, also 120-mal schneller. Wenn man nur mit kleinen Chats an LLMs herumspielt, fällt das Prefill-Problem kaum auf, aber sobald man sie für größere Aufgaben nutzt, wird die Rechengrenze zum Flaschenhals. Auch die TTFT-Diagramme sehen zunächst nicht schlecht aus, aber wenn man liest, dass die Mac-Plattform auf Log-Skala dargestellt werden musste, weil sie bei der reinen GPU-Rechenleistung viel zu langsam war, wirkt das gleich anders
Wenn der Autor die Ergebnisse so darstellt, kann das einen voreingenommenen Eindruck erwecken, aber ich glaube nicht, dass das hier wirklich der Fall ist
Dass OpenGL unter macOS nicht mehr gut unterstützt wird und das Spiel deshalb selbst mit CrossOver nicht vollständig spielbar ist, scheint zu stimmen
Doom unterstützt allerdings offenbar Vulkan, und vielleicht reicht es, MoltenVK
VK_NV_glsl_shaderhinzuzufügen. Das dürfte deutlich weniger Arbeit sein, als eine RTX 5090 an ein M4 zu hängen, aber trotzdem Applaus für Scott. Auch die Geschwindigkeit bei lokaler KI-Inferenz ist ziemlich cool, ein wirklich verrücktes ProjektZiemlich beeindruckend. Mein Eindruck war, dass eGPU auf Apple Silicon einfach nicht funktioniert
Apple sieht das genauso. „Zur Verwendung einer eGPU ist ein Mac mit Intel-Prozessor erforderlich.“ Außerdem waren die offiziell unterstützten eGPUs alle AMD und nicht NVIDIA. https://support.apple.com/en-us/102363
Hier wird diese eGPU in eine Linux-VM getunnelt
Zuerst dachte ich, das wäre ein Beitrag darüber, eine VM mit dem langsamen tinygrad-Treiber zu betreiben, aber tatsächlich war es ein deutlich besserer Ansatz
Schade, dass Apple das nicht besser unterstützt und die 1,5-GB-Fenstergrenze lockert, dann wäre es viel einfacher. Arm hat generell einige Eigenheiten rund um PCIe-Geräte, aber zumindest unter Linux ist vieles deutlich einfacher geworden, weil die meisten aktuellen Treiber arm64 als erstklassige Plattform behandeln
Meine Vermutung ist, dass tinygrad vor allem deshalb langsam ist, weil die tinygrad-Inferenz-Engine für diese öffentlichen LLM-Modelle noch nicht stark optimiert ist. Wahrscheinlich floss der Großteil der Arbeit in die Optimierung des Stacks für Georges Hardwarefirma im Bereich autonomes Fahren. Da man vorhandene CUDA-Kernel in dieser Engine nicht einfach direkt ausführen kann, ist der Engineering-Aufwand viel höher. Ich frage mich auch, ob mein Projekt sich den macOS-Hosttreiber mit ihnen teilen könnte. Ein paar Änderungen wären wohl nötig, aber es scheint einiges an Überschneidungen zu geben
Die Aussage „Der erste Schritt bei den meisten Projekten heutzutage ist, so ungern man es zugibt, die KI zu fragen“ bedeutet wahrscheinlicher, dass die KI einem etwas erklärt, das sie selbst nicht weiß
Das erinnert mich daran, wie ich gestern mit ChatGPT darüber gestritten habe, ob eine 5070TI überhaupt eine echte Grafikkarte ist. ChatGPT wollte mich ständig korrigieren und behauptete, es gebe keine 5070TI und ich müsse wohl eine 4070ti gemeint haben
Ich habe Claude gebeten, eine HTML-Seite über PowerShell 7 zu erstellen, und es schrieb, 7.4 sei die neueste LTS-Version. Ich gab einen Link dazu, dass 7.6 im März veröffentlicht wurde, und bat um eine neue Version mit aktuellen Informationen, aber es erstellte fast dieselbe Seite und wiederholte erneut die gleiche Behauptung, dass 7.4 die neueste Version sei
Trotzdem war ChatGPTs Antwort auf den ursprünglichen Beitrag genau richtig. Die Zusammenfassung als „sehr tiefgehend“, „praktisch fast unbrauchbar“ und „aus Forschungsperspektive“ beschreibt diesen Beitrag selbst perfekt
Das ist wirklich beeindruckend. Ich habe noch eine 5090 übrig und betreibe claw-like auf einem M4 Mini; wenn man sie zur Stabilität in so etwas wie einen 3D-gedruckten Rahmen steckt und an einen TB-Port anschließt, könnte das für lokale Inferenz ein ziemlich nützliches Werkzeug werden
Man bräuchte allerdings irgendeine Vorrichtung, die Dinge wie die Stromversorgung sauber absichert. Das Problem ist, dass
max-num-seqsundmax-model-lenmiteinander in Konflikt geraten, und außerhalb eines rein einzelnen Client-Modus braucht man sozusagen mehrere SlotsWenn es durch Apples Freigabeprozess käme, sähe das für KI-Inferenz ziemlich nützlich aus. Ich wollte NVIDIA-GPUs schon immer mit einem Mac Mini nutzen, und auf diesem Weg könnte man CUDA direkt ausführen. Wirklich cool