Metal für Machine Learning im Jahr 2026
Apples M5 bringt einen neuen Hardware-Block namens Neural Accelerator mit, und dieser sitzt nicht auf der Neural Engine oder irgendwo in einem Coprozessor. Er sitzt innerhalb jedes GPU-Shader-Cores, neben den vorhandenen Pipelines, und ist darauf ausgelegt, dichte, rechenintensive Arbeit zu beschleunigen, etwa die Prefill-Phase eines LLM.1 Diese Platzierung ist die ganze Geschichte von Metal im Jahr 2026. Die GPU, zu der Sie greifen, um Dreiecke zu zeichnen, ist nun dieselbe GPU, zu der Sie greifen, um Matrixmultiplikationen auszuführen, und auf der WWDC26 stellte Apple Entwicklern die APIs bereit, um sie direkt zu nutzen. Metal ist eine erstklassige Machine-Learning-Rechenebene, und der Rahmen der Grafik deckt nicht mehr ab, was Metal leistet.
Jahrelang lief die On-Device-ML-Geschichte oberhalb von Metal ab: Core ML zielte auf die Neural Engine, MLX legte um die GPU eine NumPy-förmige Array-API, MetalFX gab Spielen einen abgeschotteten Upscaler. Metal selbst war das Substrat, auf dem diese Frameworks standen, nicht eine Ebene, gegen die die meisten ML-Entwickler programmierten. Die WWDC26 veränderte die Flughöhe. Apple lieferte eine Metal-Shading-Language-API für Tensor-Mathematik aus, machte eigene Kernel in Core AI einsteckbar und zeigte neuronale Netze, die direkt innerhalb von Shadern liefen. Die Gründe, auf die Metal-Ebene hinabzusteigen, sind nun konkret genug, um sie beim Namen zu nennen.
TL;DR
- Der M5 Neural Accelerator ist ein neuer Hardware-Block, der sich innerhalb jedes GPU-Shader-Cores befindet und darauf ausgelegt ist, dichte, rechenintensive Arbeit wie das LLM-Prefill zu beschleunigen.1
- TensorOps ist eine Metal-Shading-Language-API, die Tensor-Operationen (Matrixmultiplikation, Faltung) auf der GPU beschleunigt und über alle Apple-Silicon-Generationen hinweg automatisch die verfügbare Hardware-Beschleunigung nutzt.1
- Metal Tensors unterstützen quantisierte Datentypen nativ: 4- und 8-Bit-Ganzzahlen im macOS- und iOS-26-Update, dazu kommen in macOS und iOS 27 4- und 8-Bit-Float- sowie 2-Bit-Ganzzahltypen plus E8M0-blockweise Skalierungsfaktoren.1
- Neural Rendering umfasst in Metal 4 drei Ebenen: MetalFX-Denoising als Black Box, den ML Command Encoder für trainierte Modelle in Ihrem Command Buffer und TensorOps für winzige Netze, die direkt in einem Shader aufgebaut werden.2
- MLX Swift hält den High-Level-Pfad für numerisches Rechnen offen: Array-Code, der sich wie die Mathematik liest, Lazy Evaluation, automatische Differenzierung und GPU-Ausführung standardmäßig.4
- Neue Performance-Werkzeuge (Look-back-Trace-Erfassung,
metalperftraceund die StateReporting-API) schließen den Kreis beim Messen all dessen über lange Sitzungen hinweg.3
Metal Tensors und eigene ML-Kernel
Apple stellt den ML-Stack als Schichten dar: Core AI und MLX ganz oben für eine Bereitstellung mit minimalem Code, darunter Metal Performance Shaders für hochperformante Kernel und unter allem die Metal Performance Primitives sowie die TensorOps-Bibliothek, die die Low-Level-Beschleunigung leisten.1 Auf die Metal-Ebene steigen Sie aus einem konkreten Grund hinab. Die ML-Forschung bewegt sich schnell, daher implementieren Sie vielleicht eine eigene Operation, die sich in ein höher angesiedeltes Framework wie Core AI einsteckt. Vielleicht tragen Sie zu einem Framework wie MLX oder llama.cpp bei. Oder Sie schreiben eine Metal-basierte Anwendung, die die Operation inline benötigt.1
Apples Shiyao über den M5 Neural Accelerator: ein Hardware-Block innerhalb jedes Shader-Cores, gebaut für dichte, rechenintensive Arbeit wie das LLM-Prefill (WWDC26, Session 330).
TensorOps ist eine Metal-Shading-Language-API, die Tensor-Operationen auf der GPU beschleunigt, darunter Matrixmultiplikation und Faltung, und sie schöpft den M5 Neural Accelerator voll aus, ohne dass Sie generationsspezifischen Code schreiben müssen.1 Die Bibliothek liest die verfügbare Hardware aus und nutzt sie. Diese Portabilität ist der eigentliche Grund, über TensorOps zu arbeiten, statt SIMD-Group-Mathematik gegen eine bestimmte GPU von Hand zu stricken.
Die praktischste Neuerung von 2026 ist die native Quantisierung. Modelle wachsen weiter, Inferenz ist typischerweise speicherbandbreitengebunden, und das Komprimieren von Gewichten passt sowohl mehr Modell in den Speicher als auch spart Bandbreite.1 Der Standardschritt: 16-Bit-Halbpräzisionsgewichte nehmen, sie auf 4 Bit reduzieren und die quantisierten Werte mit Skalierungsfaktoren paaren, die sie zur Rechenzeit wieder in den Wertebereich zurückführen.1 TensorOps verarbeitet quantisierte Datentypen nun nativ. Das macOS- und iOS-26-Update fügte 4- und 8-Bit-Ganzzahltypen hinzu; macOS und iOS 27 erweitern das um 4- und 8-Bit-Gleitkommatypen sowie 2-Bit-Ganzzahlen.1 Sie erstellen einen quantisierten Tensor fast genauso wie einen regulären: Sie füllen die Eigenschaften des Deskriptors aus, geben einen quantisierten dataType an und rufen newTensorWithDescriptor auf Ihrem Metal-Device auf.1
Auch die Skalierungsfaktoren bekommen ein sauberes Zuhause. In macOS und iOS 27 kann ein einziger MTLTensor seine Skalen neben den quantisierten Daten als zusätzliche Skalierungsebene mitführen und unterstützt das FP8-E8M0-blockweise Skalierungsfaktorformat, bei dem jedes Skalierungselement auf einen Block von Datenelementen angewendet wird.1 Sie bauen einen Deskriptor für die Skalierungsebene, setzen deren dataType und Block-Faktoren und hängen eine Hilfsebenen-Zuordnung an den ursprünglichen Tensor-Deskriptor; quantisierte Daten, Skalen und Metadaten packen sich in ein einziges Tensor-Objekt.1 In einem Kernel deklarieren Sie die Skalierungsebene (etwa fp8_e8m0 mit einer Blockgröße von 32 mal 1, sodass je 32 Datenelemente eine Skala teilen), deklarieren den vollständigen Tensor-Typ, richten einen matmul2d_descriptor mit den Kachelgrößen ein, erstellen eine matmul2d-Operation, übergeben die quantisierten Tensors, und TensorOps übernimmt die Dequantisierung für Sie.1
Wenn Sie ein eigenes Quantisierungsformat benötigen, das die Bibliothek nicht kennt, dequantisieren Sie direkt in einen kooperativen Tensor und übergeben ihn an die matmul2d-Operation. Kooperative Tensors verteilen ihren Speicher über den thread-privaten Speicher der an der Matmul beteiligten Threads, sodass die Daten in Registern verbleiben und Sie sich den Umweg über den Threadgroup-Speicher sparen.1
Das Vorzeigebeispiel in Session 330 ist FlashAttention, der fusionierte Attention-Kernel im Kern jedes Transformers. Attention multipliziert Q mit K, berechnet SoftMax über die Zeilen der Zwischenmatrix und multipliziert dann mit V; FlashAttention fusioniert alle drei zu einem einzigen Kernel.1 Sie verwenden den Operationsbereich execution_simdgroup, damit jede SIMD-Group vollständige Zeilen der Zwischenmatrix besitzt und SoftMax berechnen kann, ohne Daten zwischen den Groups auszutauschen, speichern die Zwischenmatrix in einem kooperativen Tensor und berechnen die Zeilenreduktionen mit reduce_rows.1 Die wichtigste Verbesserung von 2026: In macOS 26 mussten Sie den kooperativen Tensor vor der zweiten Matmul in den Threadgroup-Speicher schreiben, doch nun speisen Sie ihn nach einer is_compatible_as_left-Layout-Prüfung direkt über get_left_input_cooperative_tensor ein.1 Schlägt die Prüfung fehl, fallen Sie auf den Threadgroup-Umweg zurück; so oder so ist op.run identisch.1
Apple schloss den Kreis, indem es diesen eigenen Kernel in ein echtes Modell integrierte. Core AI konvertiert PyTorch-Modelle und unterstützt eigene Metal-Kernel, daher definierte das Team den FlashAttention-Körper als String in Python, registrierte einen TorchMetalKernel, ersetzte die Standard-Attention von Hugging Face durch eine, die den Kernel aufruft, und exportierte ein SAM-3-Modell zur Bildsegmentierung aus PyTorch als optimiertes Core-AI-Asset, das in einem Testbild ein Auto korrekt segmentierte.1 Das ist der Weg von einem handgeschriebenen GPU-Kernel zu einem auslieferbaren Modell.
Echtzeit-Neural-Rendering
Die zweite Front ist das Rendering. Viele Techniken, die historisch analytische Methoden nutzten, darunter Neural Denoising, Neural Textures und gelerntes Tone Mapping, können nun an jeder Stelle der Pipeline als Machine Learning laufen, um Qualität, Performance oder Speicherbedarf zu verbessern.2 Metal 4 bietet drei Ebenen der Kontrolle, und die Ebene, die Sie wählen, ist ein bewusster Kompromiss.
Apples Yulia führt durch die drei Ebenen von ML in einer Metal-4-Rendering-Pipeline, von MetalFX bis zu TensorOps-Netzen, die auf dem Neural Accelerator des M5 und des A19 Pro laufen (WWDC26, Session 359).
Auf der höchsten Ebene bietet MetalFX einen einsatzbereiten neuronalen Denoiser und Upscaler als vollständig integrierte Black Box, ausgelegt auf die latenzarmen Anforderungen eines Live-Viewports.2 In einem Path Tracer erlaubt Ihr Frame-Budget vielleicht ein Sample pro Pixel, um interaktiv zu bleiben, und ein Sample ist verrauscht. MetalFX nimmt dieses verrauschte Frame plus Hilfseingaben (Diffuse Albedo, Tiefe und einige andere) und erzeugt mit räumlichen und zeitlichen Techniken ein sauberes, nahezu finales Bild.2 Maxons Redshift Live, ein Echtzeit-Path-Tracer in Cinema 4D, liefert es aus, und Apple destillierte die Integration zu drei Best Practices: Halten Sie Ihre Hilfseingaben rauschfrei (Diffuse Albedo ist das stärkste Denoising-Signal), speichern Sie, was der Betrachter tatsächlich sieht (Primary Surface Replacement für Spiegel, Fresnel-vermischtes Albedo für Glas), und sorgen Sie für korrekte Bewegungsvektoren (MetalFX erwartet entjitterte Bewegungsvektoren, sonst flimmern Kanten).2
Die mittlere Ebene ist der Metal-4-ML-Command-Encoder, der ein vortrainiertes Modell ohne Kontextwechsel direkt in Ihrem Command Buffer ausführt.2 Apples durchgearbeitetes Beispiel ist neuronales Tone Mapping. Die Postprocessing-Kette eines Renderers (Tone Mapping, Color Grade, Filmemulation) wird beliebig komplex, und ein neuronales Netz kann die gesamte Transformation lernen. Sie trainieren ein Netz wie HDRNet (eine Architektur von 2017 von Gharbi und Kollegen) in PyTorch, exportieren es in ein MTLPackage, laden es mit einem Function Descriptor und einem Machine-Learning-Pipeline-Descriptor und dispatchen es dann mit einer Argument Table.2 Der neuronale Tone Mapper ersetzt anschließend die gesamte mehrstufige Postprocessing-Kette durch eine einzige neuronale Auswertung, kodiert im selben Command Buffer neben dem Path Tracer und MetalFX und ausgeführt im selben Frame.2
Die tiefste Ebene ist TensorOps innerhalb eines Shaders, dieselbe Bibliothek aus Session 330, aber eingesetzt, um winzige Netze von einigen tausend Parametern oder weniger aufzubauen, die auf einer Szene trainiert sind und nicht generalisieren sollen.2 Weil das Netz inline zwischen Ihren ALU- und Texture-Sampling-Instruktionen Platz findet, ermöglicht es Online-Training: ein Modell, das sich in jedem Frame an wechselnde Weltbedingungen anpasst. Apples Beispiel ist eine Sky Probe für Image-Based Lighting, bei der ein dynamischer Tag-Nacht-Zyklus ein vorberechnetes Lichtsignal veralten lässt. Die Lösung ist ein vollständig verbundenes MLP, ein 3-4-4-3-Netz, das eine Richtung als drei Floats entgegennimmt und Beleuchtung als Farbe zurückgibt, vorwärts im Shader ausgewertet und mit einem Backpropagation-Durchlauf pro Frame online trainiert.2 Über den SIMD-Group-Ausführungsbereich arbeiten alle beteiligten Threads an derselben Matrixmultiplikation und erhalten kooperative Tensors, deren Speicher sich über die Threads verteilt, sodass Sie sich per matmul2d durch jede Schicht arbeiten, Aktivierungen an Ort und Stelle anwenden und die Ausgabe direkt dort im Shader lesen, ohne einen Umweg über den Hauptspeicher. Das ist derselbe Neural-Accelerator-Pfad aus Session 330, der nun einen Pixel speist.2
Es messen: Performance-Werkzeuge
ML auf der GPU auszuführen bedeutet, um dieselben Zyklen, dieselbe Bandbreite und dasselbe Thermalbudget zu konkurrieren, die Ihr Rendering braucht, und damit hört Messen auf, optional zu sein. Session 388 dreht sich um lange Spielsitzungen, doch die Werkzeuge gelten für jede Metal-Last, ML eingeschlossen, denn ein Bildrateneinbruch während eines neuronalen Tone-Mapping-Durchgangs sieht genau aus wie jeder andere GPU-Stillstand, bis Sie erkennen können, was die App gerade tat.3
Apples Ruiwei über das System, das Metal-Performance-Metriken stets im Hintergrund aufzeichnet, sodass Sie Stunden zurückblicken und nach dem Ende einer Sitzung einen Trace erfassen können (WWDC26, Session 388).
Die wichtigste Änderung in iOS und macOS 27: Das System zeichnet Metal-Performance- und Ressourcenmetriken stets im Hintergrund auf und speichert aggregierte sowie optionale Daten pro Frame (CPU, GPU, FPS, Speicher) über Tage hinweg.3 Erfasst wird nachträglich. Auf macOS holt metalperftrace collect --last 5h einen Trace der letzten fünf Stunden; auf iOS fügt eine einmalige Einrichtung dem Kontrollzentrum eine Schaltfläche „Performance Trace” hinzu, die auf Anforderung einen Look-back-Trace verarbeitet.3 Sie analysieren mit metalperftrace overview, und --json gibt strukturierte Ausgaben aus, die Sie an ein Regressionsskript übergeben oder einem KI-Agenten zur Triage reichen können; Instruments stellt alles auf einer Zeitachse dar und kennzeichnet abweichende Statistiken farblich.3
Das Stück, das aus einem rohen FPS-Diagramm etwas Handlungsfähiges macht, ist die StateReporting-API, verfügbar in Swift und Objective-C.3 Sie definieren Domains, jede ein endlicher Automat für einen orthogonalen Funktionsbereich, und melden Übergänge mit einem Label plus optionalen stabilen Metadaten und volatilen Metadaten pro Zustand.3 Für eine ML-lastige App könnten Sie eine Domain führen, die verfolgt, welcher neuronale Durchgang aktiv ist, sodass Sie bei einem Anstieg der Frame-Zeit metalperftrace bitten können, die FPS für ein bestimmtes Zustands-Label zu aggregieren, und direkt sehen, dass etwa der Tone-Mapping-Durchgang der Kostentreiber ist.3 Apples Warnung: Halten Sie Übergänge auf die Taktung von Nutzeraktionen oder langsamer, denn das System drosselt hochfrequentes Reporting und Sie verlieren Daten.3 Nach dem Ausliefern legt MetricKit in iOS und macOS 27 die Metal-Bildrateninformationen aufgeschlüsselt nach Ihren StateReporting-Zuständen offen, geliefert als tägliche Berichte von Geräten.3
MLX: Der High-Level-Pfad bleibt
Nicht jeder ML-Entwickler will GPU-Kernel schreiben, und Apple drängte niemanden dahin. MLX Swift bleibt die ausdrucksstarke Ebene für numerisches und Array-Rechnen auf Apple Silicon, und Session 328 ist ein klares Plädoyer dafür, dort zu bleiben, wann immer Sie können.4
Apples David Koski darüber, wo MLX Swift zwischen Accelerate, BNNS, Metal Performance Shaders und Swift Numerics einzuordnen ist (WWDC26, Session 328).
MLX verwendet n-dimensionale Arrays als zentrale Abstraktion, wie NumPy, sodass sich der meiste NumPy-Code mit minimalen Änderungen übertragen lässt und sich der Code wie die Mathematik liest, die Sie implementieren.4 Zwei Eigenschaften tragen das Framework: Lazy Evaluation, bei der Operationen einen Compute-Graphen aufbauen, der erst läuft, wenn Sie eval aufrufen oder einen Wert lesen, und die Funktionstransformationen, die Lazy Evaluation antreibt, darunter grad für die automatische Differenzierung.4 Standardmäßig führt die GPU die Arbeit aus, und Apple formuliert es so, dass je nach Algorithmus durchaus das Zehnfache gegenüber einer skalaren CPU-Schleife möglich ist.4 Session 328 führt den Beweis mit drei Beispielen: die Mandelbrot-Menge als zweizeilige Schleife über ein ganzes Gitter komplexer Zahlen, ein Wärmeverteilungs-Solver, bei dem ein einziger conv2d-Aufruf den Jacobi-Stencil über das Gitter anwendet, und Kurvenanpassung, bei der grad den exakten Gradienten ganz ohne handgeschriebene Ableitungen herleitet.4 MLX liefert darüber hinaus das volle Werkzeugset und ist quelloffen unter einer MIT-Lizenz, mit Swift-, Python-, C++- und C-Frontends, die sich dieselben Konzepte teilen, sodass Sie in Python prototypisieren und in Swift ausliefern können.4
Wie es zu Core AI, Core ML und MLX in Beziehung steht
Die vier Sessions beschreiben einen Stack in verschiedenen Flughöhen, und das richtige mentale Modell ist eine Leiter.
- Core AI und Core ML sind die Bereitstellungsebene. Sie konvertieren ein trainiertes Modell und führen es aus, und Apple verantwortet die Beschleunigung. Core AIs Unterstützung für eigene Metal-Kernel ist die Brücke: Der FlashAttention-Kernel aus Session 330 steckt sich in ein Core-AI-Modell ein, sodass eine Optimierung auf Metal-Ebene eine High-Level-Bereitstellung ohne Neuschreiben erreicht.1
- MLX ist die Ebene für Array-Rechnen und Forschung, auf der Sie mathematisch geformtes Swift schreiben, Autodiff und GPU-Ausführung kostenlos erhalten und eigene Modelle ausführen oder feinabstimmen. Es ist die Ebene, mit der die meiste ML-Arbeit beginnen sollte.4
- Metal Performance Shaders und TensorOps sind die Kernel-Ebene. Hierher steigen Sie hinab, wenn Sie eine eigene Operation benötigen, wenn Sie ein Framework wie MLX selbst bauen oder wenn das Netz inline in einem Shader laufen muss. Die Kernel-Ebene legt den Neural Accelerator am direktesten offen.1
Das Hardware-Substrat verbindet sie. Der Neural Accelerator lebt im GPU-Shader-Core, und Metal ist der Weg, auf dem Sie die GPU erreichen, sodass jede darüberliegende Ebene letztlich dasselbe Silizium über Apples Unified-Memory-, tile-basierte Architektur nutzt. Eine Ebene zu wählen ist dasselbe Urteil wie die Entscheidung zwischen MLX und Foundation Models: Steigen Sie nur dann hinab, wenn Sie die Fähigkeit benennen können, die die darüberliegende Ebene nicht bietet, denn jeder Schritt nach unten tauscht Bequemlichkeit gegen Kontrolle.
FAQ
Was ist der M5 Neural Accelerator?
Der Neural Accelerator ist ein neuer Hardware-Block in der M5-Chipfamilie, direkt innerhalb jedes GPU-Shader-Cores neben den anderen GPU-Pipelines angesiedelt.1 Apple entwarf ihn, um dichte, rechenintensive Arbeit zu beschleunigen, etwa die Prefill-Phase eines LLM, und die TensorOps-Bibliothek nutzt ihn automatisch, sofern vorhanden.1 Apple verwies in der Neural-Rendering-Session auch auf den Neural Accelerator der A19-Pro-GPU.2
Welche quantisierten Datentypen unterstützen Metal Tensors?
Das macOS- und iOS-26-Update fügte 4- und 8-Bit-Ganzzahltypen hinzu.1 In macOS und iOS 27 erweitert TensorOps die Unterstützung auf 4- und 8-Bit-Gleitkommatypen und 2-Bit-Ganzzahltypen sowie auf FP8-E8M0-blockweise Skalierungsfaktoren, die in der Skalierungsebene eines Tensors mitgeführt werden.1 Apple weist darauf hin, dass diese kleineren Typen zusätzliche Ausrichtungsanforderungen mit sich bringen, daher sollten Sie vor ihrer Verwendung die Metal-Dokumentation konsultieren.1
Was sind die drei Ebenen des Neural Rendering in Metal 4?
MetalFX ist die höchste Ebene, ein einsatzbereiter Black-Box-Neural-Denoiser und -Upscaler.2 Der Metal-4-ML-Command-Encoder ist die mittlere Ebene und führt ein vortrainiertes, in ein MTLPackage exportiertes Modell direkt in Ihrem Command Buffer aus.2 TensorOps ist die tiefste Ebene und lässt Sie winzige Netze innerhalb eines Shaders aufbauen, einschließlich Online-Training, das ein Modell in jedem Frame anpasst.2
Wann sollte ich MLX nutzen, statt Metal-Kernel zu schreiben?
Nutzen Sie MLX Swift, wenn Ihr Ziel ausdrucksstarker numerischer oder Array-Code mit guter Performance ist, bei dem sich der Code wie die Mathematik lesen soll und Sie Autodiff und GPU-Ausführung standardmäßig wünschen.4 Steigen Sie zu TensorOps und Metal-Kernel hinab, wenn Sie eine eigene Operation benötigen, die MLX oder Core AI nicht bietet, wenn Sie zu einem ML-Framework beitragen oder wenn das Netz inline in einem Shader laufen muss.1
Wie messe ich die ML-Performance auf der GPU im Jahr 2026?
In iOS und macOS 27 zeichnet das System Metal-Performance-Metriken stets im Hintergrund auf, sodass Sie nachträglich einen Look-back-Trace erfassen, auf macOS mit metalperftrace collect --last <duration> oder auf iOS über die Schaltfläche „Performance Trace” im Kontrollzentrum.3 Analysieren Sie mit metalperftrace overview (mit --json für Skripting) oder Instruments und fügen Sie die StateReporting-API hinzu, um zu kennzeichnen, was Ihre App gerade tat, damit Sie Verlangsamungen einem bestimmten Durchgang zuordnen können.3
Der Apple-Ecosystem-Cluster geht weiter: MLX auf Apple Silicon für den Array-Framework-Pfad, Apple Silicon TBDR für das GPU-Substrat unter allem, Core AI für das Ausführen von Modellen auf dem Gerät und Core ML On-Device-Inferenz für den breiteren ML-Stack. Der Mittelpunkt der Reihe ist die Apple Ecosystem Series, und für den Aufbau agentischer Funktionen auf dieser Grundlage siehe den iOS Agent Development Guide.
Referenzen
-
Apple, WWDC26 Session 330, “Optimize custom machine learning operations with Metal tensors”. Der M5 Neural Accelerator innerhalb jedes Shader-Cores; TensorOps als Metal-Shading-Language-API für Matrixmultiplikation und Faltung; native quantisierte Datentypen (4- und 8-Bit-Ganzzahlen im macOS/iOS-26-Update; 4- und 8-Bit-Floats und 2-Bit-Ganzzahlen plus FP8-E8M0-blockweise Skalierungsfaktoren in macOS/iOS 27); Skalierungsebenen und Hilfsebenen-Zuordnungen;
newTensorWithDescriptor,matmul2d_descriptor,matmul2d,tensor_handle/tensor_inline; kooperative Tensors; der FlashAttention-Kernel (execution_simdgroup-Bereich,reduce_rows,map_iterator,get_left_input_cooperative_tensor,is_compatible_as_left/right_input,op.run); und die SAM-3-/Core-AI-Integration überTorchMetalKernel. Apple verweist Entwickler für die vollständige API-Referenz auf die Dokumentation und den Programmierleitfaden der Metal Performance Primitives. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC26 Session 359, “Build real-time neural rendering pipelines with Metal”. Die drei Ebenen des Neural Rendering in Metal 4 (MetalFX, der ML Command Encoder, TensorOps in einem Shader); MetalFX-Denoising/-Upscaling, seine Hilfseingaben, das Transparenz-Overlay und die Denoiser-Stärkemaske sowie die drei Best Practices (saubere Eingaben, Primary Surface Replacement und Fresnel-vermischtes Albedo, entjitterte Bewegungsvektoren), wie sie von Maxons Redshift Live übernommen wurden; neuronales Tone Mapping über HDRNet, exportiert in ein
MTLPackage; das Sky-Probe-MLP (3-4-4-3) mit Online-Training; SIMD-Group-Ausführungsbereich und kooperative Tensors; und der Verweis auf den Neural Accelerator der A19-Pro-GPU. Apple verweist Entwickler für Code-Details auf den Programmierleitfaden der Metal Performance Primitives (MPP). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC26 Session 388, “Find and fix performance issues in your Metal games”. Die stets aktive Hintergrundaufzeichnung von Metal-Performance- und Ressourcenmetriken in iOS und macOS 27; Look-back-Trace-Erfassung über das Kommandozeilenwerkzeug
metalperftrace(collect --last,overview,--json,--include-state-transitions) auf macOS und die Schaltfläche „Performance Trace” im Kontrollzentrum auf iOS; Analyse in Instruments; die StateReporting-API (Domains als endliche Automaten,reportTransition, stabile und volatile Metadaten,reportVolatileMetadataUpdate) und ihre Integration mit dem Metal Performance HUD,metalperftraceund Instruments; und MetricKits Metal-Bildratenberichterstattung, aufgeschlüsselt nach StateReporting-Zuständen. ↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC26 Session 328, “Explore numerical computing in Swift with MLX”. MLX Swift als NumPy-ähnliches n-dimensionales Array-Framework; Lazy Evaluation, die einen Compute-Graphen aufbaut, der bei
evaloder beim Lesen eines Werts läuft;gradfür die automatische Differenzierung; GPU-Ausführung standardmäßig mit bis zum Zehnfachen gegenüber skalarem CPU-Code; die Beispiele Mandelbrot, Wärmeverteilung (Jacobi und SOR überconv2d) und Kurvenanpassung; das breitere Werkzeugset (lineare Algebra, FFTs, Faltungen, Reduktionen, Scans, Zufallszahlengenerierung); und MLX’ quelloffene MIT-Lizenz mit Swift-, Python-, C++- und C-Frontends. Siehe auch Apple Machine Learning Research, MLX Swift. ↩↩↩↩↩↩↩↩↩