CPU-Tuning

Was Sie über Gleitkomma-Berechnungen wissen sollten

Seite: 2/2

Firma zum Thema

Verschiedene Gleitkomma-Präzisionsgrade

Gleitkomma-Routinen stehen in FPGAs schon immer über die programmierbare Logik dieser Bausteine zur Verfügung. Damit lässt sich ein beliebiger Präzisionsgrad implementieren, der nicht auf Single und Double Precision begrenzt ist.

Bildergalerie
Bildergalerie mit 9 Bildern

Altera bietet sieben verschiedene Gleitkomma-Präzisionsgrade. Die Bestimmung der Gleitkomma-Spitzenperformance eines FPGA mit programmierbarer Logik ist jedoch nicht immer ganz einfach.

Für jedes Altera-FPGA bezieht sich dieser Wert nur auf die Fähigkeit der Hard-Gleitkomma-Engines. Dabei wird angenommen, dass die programmierbare Logik nicht für Gleitkomma-Funktionen sondern für andere Teile des Designs verwendet wird, zum Beispiel für die Datensteuerungs- und Scheduling-Schaltkreise, I/O-Schnittstellen, interne und externe Speicherschnittstellen und andere Funktionen.

Mehrere Faktoren erschweren die Berechnung der Gleitkomma-Performance, wenn programmierbare Logik verwendet wird. Die Menge an Logik, die für einen Single-Precision Gleitkomma-Multiplizierer/-Addierer erforderlich ist, lässt sich über die Gleitkomma-IP-Anleitung (Intellectual Property) des FPGA-Herstellers ermitteln. Darin ist jedoch eine wichtige Information nicht aufgeführt: die erforderlichen Routing-Ressourcen.

Die Rolle von Barrel-Shifter

Um Gleitkomma-Funktionen umzusetzen, sind große Barrel Shifter erforderlich, die hohe Mengen programmierbarer Routing-Ressourcen benötigen (Verbindungen zwischen den programmierbaren Logikelementen). Alle FPGAs verfügen über eine bestimmte Anzahl dieser Verbindungen, um die Logik zu unterstützen.

Sie basiert auf dem Bedarf eines typischen Festkomma-FPGA-Designs. Leider benötigen Gleitkomma-Funktionen wesentlich mehr Verbindungen als Festkomma-Designs.

Wird eine einzelne Gleitkomma-Funktion erstellt, kann sie auf die Routing-Ressourcen im allgemeinen Bereich der Logikelemente zugreifen. Sind jedoch viele Gleitkomma-Operatoren zusammen gebündelt, tritt eine Routing-Überlastung ein.

Dabei verringern sich die erzielbaren Taktraten erheblich und die Logiknutzung ist wesentlich höher als bei einem vergleichbaren Festkomma-FPGA-Design. Altera bietet seine eigene Synthese-Technik, genannt „Fused Datapath“, die diese Belastung verringert und die Umsetzung großer Gleitkomma-Designs in der Logik-Fabric ermöglicht.

Fini: Timing Closure bei programmierbarer Logik

Dabei werden Festkomma-27x27-Multiplizierer für Single Precision oder 54x54 für Double Precision verwendet. Hinzu kommt, dass die FPGA-Logik nicht vollständig genutzt werden kann. Da das Design einen großen Teil der verfügbaren Logik-Ressourcen einnimmt, verringert sich die Taktrate oder fMAX, bei der die Timing Closure erreicht wird – bis schließlich die Timing Closure überhaupt nicht mehr erzielt werden kann.

In der Regel können 70 bis 90 Prozent der Logik genutzt werden. Bei kompakten Gleitkomma-Designs liegt dieser Wert eher am unteren Ende dieses Bereiches.

Aus diesem Grund ist es nahezu unmöglich, die Gleitkomma-Kapazität eines FPGAs zu berechnen, wenn dessen programmierbare Logik dafür verwendet wird. Am besten werden Benchmark-Gleitkomma-Designs erstellt, die den Timing-Closure-Prozess beinhalten. Alternativ kann der FPGA-Hersteller solche Designs anbieten, was die Abschätzung der FPGA-Performance und Möglichkeiten vereinfacht.

Altera bietet Benchmark-Designs für 28-nm-FPGAs, die grundlegende und komplexe Gleitkomma-Designs abdecken. Die veröffentlichten Ergebnisse zeigen, dass sich mit 28-nm-FPGAs mehrere Hundert GFLOPs für einfache Algorithmen wie FFTs und etwa 100 GFLOPs für komplexe Algorithmen wie QR und Cholesky-Zerlegung erzielen lassen.

Fazit:

FPGAs mit Gleitkomma-DSP-Blöcken in Hardware bieten heute eine Single-Precision Performance von 160 bis 1.500 GFLOPs in Midrange-Bausteinen und bis zu 10.000 GFLOPs in Highend-Bausteinen wie Altera Stratix.

Diese GFLOPs-Spitzenwerte werden mit der gleichen transparenten Methode berechnet, wie sie bei CPUs, GPUs und DSPs angewendet wird. Diese Methode bietet Entwicklern eine zuverlässige Technik für einen Vergleich der maximalen Gleitkomma-Rechenleistung verschiedener Architekturen.

Die nächste Vergleichsstufe sollte auf einem repräsentativen Benchmark-Design basieren, das auf der Plattform umgesetzt ist. Für FPGAs ohne Gleitkomma-Schaltkreise in Hardware ist die vom Anbieter berechnete theoretische GFLOP-Leistung eher unzuverlässig.

Jeder FPGA-Gleitkomma-Bedarf über 500 GFLOPs, der mit Logik-Ressourcen bedient werden soll, muss dringend hinterfragt werden. In diesem Fall ist ein repräsentatives Benchmark-Design erforderlich, um einen Vergleich durchführen zu können. Der FPGA-Kompilierungsbericht mit Logik-, Speicher- und Ressourcennutzung sowie die erzielte Taktrate sollten ebenfalls bereitgestellt werden.

Lesetipp: Wer in die Welt der FPGAs einsteigen möchte, findet auf der Site von Altera einen Link zum kostenlosen Download des Buches: „FPGA for Dummies“(Registrierung erforderlich).

* * Michael Parker... ist Principal DSP Product Planning Manager bei Altera.

(ID:43625310)