> > > > GTC 2014: Unified Memory auch für Tegra K1

GTC 2014: Unified Memory auch für Tegra K1

Veröffentlicht am: von

gtc2014Auf der heute gestarteten GTC 2014 erwarten wir uns auch einen Ausblick auf den GPU-Markt in den kommenden Monaten. Den ersten Schritt in die neue Generation hat NVIDIA mit der Vorstellung der GeForce GTX 750 und GTX 750 Ti bereits gemacht. Beide Karte verwenden eine GPU auf Basis der neuen "Maxwell"-Architektur. Neben der grundsätzlichen Neustrukturierung und Anordnung der Shadereinheiten wird NVIDIA für seine professionellen Karten auch einige Features freischalten, welche erst im Zusammenspiel mit CUDA 6.0 zum Einsatz kommen. Dazu gehört unter anderem auch ein Unified Memory, also ein gemeinsamer Speicher für GPU und CPU - oder im Falle von Tegra K1 ein gemeinsamer Speicher für die vier ARM-Kerne und die Shaderheinheiten des SMX-Cluster.

Auch für Tegra K1 plant NVIDIA die Einführung des Unified Memory und will somit die Performance der vier CPU-Kerne und des vollständigen SMX-Cluster mit 192 Shadereinheiten zusammenlegen. Für NVIDIA und die Entwickler bietet sich durch den erstmaligen Einsatz einer vollständigen Desktop-Architektur die Möglichkeit bestimmte Software auf unterschiedlichsten Systemen arbeiten zu lassen. Ein Image-Processing, sei es eine Gesichtserkennung oder aber auch nur das Anwenden von Filtern auf Fotos, kann also sowohl am Desktop-PC als auch auf dem Tablet oder Smartphone erfolgen. Die Leistung des Tegra K1 soll ausreichen um auch aufwendige Berechnungen darauf auszuführen oder ohne die Daten auf einen Server zu laden, um sie dort berechnen zu lassen. Sollen die vier CPU Kerne der ersten Tegra-K1-Variante mit den 192 Shadereinheiten des SMX-Cluster zusammenarbeiten, spielt der Unified Memory eine entscheidende Rolle, da die Daten nicht mehr (mit gewissen Einschränkungen) zwischen dediziertem Speicher für diese beiden Komponenten hin und her kopiert werden müssen.

Schematische Darstellung des Unified Virtual Memory
Schematische Darstellung des Unified Virtual Memory

Der Unified Memory hat aber auch noch weitere Vorteile, denn er reduziert auch den Programmieraufwand für die Entwickler. Ob und welchen Einfluss dies auf die Performance haben kann, ist derzeit nicht bekannt bzw. NVIDIA will weder für den Desktop noch für Tegra K1 Zahlen zum Leistungsgewinn nennen. Im Falle des Tegra K1 ist auch noch nicht bekannt in welcher Form die unterschiedlichen Speicher für die CPU und die Grafikeinheit zusammengelegt werden. Für Unified Memory im professionellen Desktop-Bereich müssen beispielsweise die Daten zur Berechnung auf der GPU noch immer zwingend zwischen den verschiedenen Speicherdomains (Arbeitsspeicher, Grafikspeicher, etc. pp.) ausgetauscht werden bzw. diese müssen auf dem lokalen Grafikspeicher vorliegen, wenn die GPU diese berechnen will. Der Austausch findet hier über das PCI-Express-Interface statt, so dass der Flaschenhals an dieser Stelle zu suchen sein. Da sich der Speicher beim Tegra K1 teilweise mit auf dem Die befindet, dürften die Bandbreiten hier deutlich höher sein und damit weniger einen Einfluss auf die Leistung haben. Gegenteiliges gilt hier allerdings für den Arbeitsspeicher zu erwarten, der dem Tegra K1 zur Seite gestellt wird (im Vergleich zum Desktop und der dortigen Anbindung des Arbeitsspeichers).

Auch wenn NVIDIA im Zusammenhang mit dem Tegra K1 gerne davon spricht die vollständigen Desktop-Features auch im mobilen Bereich anbieten zu wollen, so muss man dies im Falle des CUDA-Supports und die gebotenen APIs etwas einschränken. Zwar wird auch Tegra K1 CUDA 6.0 und damit den Unified Memory und Hyper-Q unterstützen, allerdings beispielsweise nicht das sogenannte Dynamic Parallelism.