TweakPC


Kaveri Test: AMD A10-7850K und A10-7700K (4/10)

HSA Features mit hQ und hUMA - Teil 1

Bevor wir zum Thema Heterogeneous System Architecture (HSA) in die Vollen gehen, müssen wir zunächst etwas auf die Bremse treten. Zwar verfügen die "Kaveri" APUs bereits über HSA-Features (namentlich hUMA und hQ), sie sind aber noch keine vollumfänglich HSA-konformen Chips.

Für all jene, welche in letzter Zeit nicht so regelmäßig die Berichterstattung von TweakPC verfolgt haben, umreißen wir das Konzept der HSA noch einmal grob an dieser Stelle: Jeder Prozessor hat eine Instruction Set Architecture (ISA), die darüber bestimmt, wie er Befehle abarbeitet und wie sie ihm unterbreitet werden müssen. Bei CPUs von AMD und Intel (oder nicht zu vergessen: VIA) ist dies bislang im Wesentlichen x86/AMD64, bei ARM-basierten Designs derzeit die ARMv8 Architektur. GPUs von AMD, NVIDIA, Qualcomm, Samsung (uvm.) verfügen ebenfalls über eine proprietäre ISA.

Wenn nun alle diese Einheiten mit ihren unterschiedlichen (teils proprietären und nicht lizensierbaren) ISAs möglichst einfach für Programmierer ansprechbar sein sollen, dann muss ein gemeinsamer Standard her; sozusagen eine Über-ISA. Da ausgeschlossen ist, dass alle Chipdesigner eine solche Über-ISA in ihrer jeweiligen Hardware implementieren, setzt die HSA auf Ebene der Software an. Anwendungsentwickler sollen künftig auf eine virtuelle ISA (die HSA) hin programmieren und optimieren können, die Instruktionen werden dann für die darunter liegende native ISA der Chips übersetzt. Die inzwischen sehr zahlreichen Mitglieder der HSA-Foundation arbeiten derzeit daran, ihre Produkte künftig HSA-konform zu gestalten.

AMD Kaveri HSA hUMA hQ

An diesem Punkt prescht nun AMD mit "Kaveri" vor, denn mit der Heterogeneous Unified Memory Architecture (hUMA) und Heterogeneous Queueing (hQ) hat das Unternehmen zwei Features in den neuen APUs der vierten Generation verankert, die das effiziente Abernten der zur verfügung stehenden Hardwareleistung enorm vereinfacht. Mit hUMA wird ein gemeinsamer Speicheradressraum für CPU- und GPU-Cores geschaffen. Bisher hatten CPU und GPU zwar bereits Zugriff auf den selben physikalischen Speicher, virtuell handelte es sich jedoch um verschiedene, voneinander unabhänige Räume. Wenn die GPU Daten benötigte, musste ein Kopiervorgang unternommen werden. Dadurch lagen die gleichen Daten im Arbeitsspeicher faktisch doppelt vor. Das Kopieren kostet Zeit und die Verdopplung wertvolle Ressourcen.

Mit hQ sorgt AMD dafür, dass CPU und GPU nicht nur im selben Speicheradressraum arbeiten können, sondern dass sie die Daten der jeweils anderen Einheit verstehen und sich gegenseitig Arbeit zuschustern können. Wo zuvor die CPU der GPU Aufgaben nur zuschanzen konnte und warten, bis sie diese erledigt hat, können nun beide Einheiten das selbe Problem simultan bearbeiten.

Klingt kompliziert und reichlich akademisch - das ist die Materie ohne Frage auch. Erfreulicherweise hat AMD in den Präsentationsfolien für die Presse einige Animationen zur Erläuterung hinterlegt, die wir für sehr geeignet halten, Grundproblematiken darzustellen und aufzuzeigen, inwiefern die ersten HSA-Features in den "Kaveri"-APUs Programmierern das verdienen ihres Lebensunterhalts vereinfachen können.

Big Data

Große Datensets zu bearbeiten erfordert hohe Rechenpower, die von einer GPU bereitgestellt werden kann. Bisher bestand das Problem darin, dass GPUs nur ein begrenzter Speicherraum zur verfügung steht. Im Vergleich zu 16, 32 oder noch mehr GigaByte Arbeitsspeicher sind zwei oder vier GigaByte dedizierten VRAMs der GPUs eben doch sehr wenig.

Aus diesem Grund müssen einzenle Teile eines großen Datensets stückweise in den lokalen Speicher der GPU kopiert werden. Wieder und wieder und wieder, je nachdem wie groß das Datenset ist und in welcher Tiefe es bearbeitet werden muss. Diese komplexe Speicherverwaltung kann Softwareentwickler an den Rand des Wahnsinns treiben und kostet Performance im System.

Mittels der HSA-Features können die neuen "Kaveri"-APUs auf das Kopieren verzichten. Die GPU Cores haben direkten Zugriff auf den gesamten Speicheradressraum, wodurch die Performance steigt und Softwareentwickler können sich mit der Lösung des eigentlichen Problems befassen, anstatt sich mit dem Memory-Management herumschlagen zu müssen.



ueber TweakPC: Impressum, Datenschutz Copyright 1999-2017 TweakPC, Alle Rechte vorbehalten, all rights reserved