Ein Vektorprozessor (auch Vektorrechner) ist eine CPU, die mit langen Vektorregistern ganze Zahlenfelder (Vektoren) in einem einzigen Befehl verarbeitet. Während ein skalarer Prozessor eine Schleife über zehntausend Zahlen elementweise abarbeiten muss, löst ein Vektorprozessor dieselbe Aufgabe mit einem Befehl pro Operation — die Rechenwerke arbeiten dabei als Vektor-Pipelines hochparallel über alle Elemente.
Wie ein Vektorprozessor arbeitet
Ein Vektorprozessor besitzt typischerweise 8 bis 64 Vektorregister, die jeweils viele Werte aufnehmen (klassisch 64 Elemente zu 64 Bit). Ein Befehl wie „addiere Vektor A zu Vektor B" lädt beide Register, schiebt die Elemente durch die Pipeline und schreibt das Ergebnis zurück — ohne Schleifenverwaltung und ohne dass der Compiler einzelne Befehle duplizieren muss. Entscheidend ist zudem eine sehr hohe Speicherbandbreite, damit die Register schnell gefüllt werden können.
Geschichte und Beispiele
- Cray-1 (1976, Seymour Cray) machte den Vektorprozessor berühmt: Mit rund 133 MFLOPS war er der schnellste Rechner seiner Zeit und prägte das Supercomputing bis in die 1990er (Cray X-MP, Y-MP).
- NEC SX-Serie führte die Tradition in Japan fort; der Earth Simulator (2002) und der Deutsche Wetterdienst (NEC SX/9 bis 2013) nutzten solche Systeme für Klima- und Wettersimulation.
- Mit dem SX-Aurora TSUBASA (2017) bringt NEC einen modernen Vektorprozessor als Beschleuniger-Karte für Linux-Server.
Abgrenzung zu SIMD und GPU
SIMD-Erweiterungen wie SSE oder AVX in x86-Prozessoren sind kurze Vektoren (128/256/512 Bit) innerhalb eines skalaren Kerns — verwandt, aber nicht dasselbe. Der klassische Vektorprozessor ist eine eigene Architektur mit sehr langen Registern, eigenen Pipelines und hoher Speicherbandbreite; moderne Vertreter kombinieren ihn mit einem skalaren Host-Kern. Eine GPU wiederum ist massiv parallel und arbeitet SIMD-artig (SIMT) mit tausenden Kernen — programmiert über GPGPU-APIs statt über Vektorbefehle der CPU. Beide gehören in der Flynn-Taxonomie zur datenparallelen Familie um SIMD.
Verwandte Grundlagen: SISD, MIMD, SIMD, Supercomputer.