www.wikidata.de-de.nina.az
Die Fused multiply add Operation FMA Operation ist eine Variante der Multiply Accumulate Operation MAC fur Gleitkommazahlen und wird auf manchen Mikroprozessoren mit Gleitkommaeinheit fur optimierte Berechnungen eingesetzt Im Gegensatz zu der gewohnlichen im englischen auch als Unfused multiply add bezeichneten Operation fuhrt die Fused multiply add Operation die Berechnung mit voller Auflosung durch und rundet das Ergebnis erst am Ende der Berechnung Entwickelt wurde die Technologie bereits Ende der 1980er Jahre von IBM Research 1 fand zunachst jedoch nur geringe Verbreitung Mit fortschreitender Integrationsdichte wurde eine einfache Implementierung der FMA Technologie in GPUs DSPs und CPUs moglich Die FMA Operation ist im Standard IEEE 754 2008 festgelegt Inhaltsverzeichnis 1 Anwendung 1 1 Vorteile 1 2 Nachteile 2 Implementierungen 3 EinzelnachweiseAnwendung BearbeitenIn numerischen Algorithmen treten haufig Operationen der Form a a b c displaystyle a leftarrow a b cdot c nbsp auf Dies ist unter anderem bei der Auswertung von Skalarprodukten bei Matrix Operationen und bei der numerischen Integration der Fall Bei der herkommlichen Unfused multiply add Operation mit N Stellen wird dabei zunachst das Produkt b c berechnet dieses auf N Stellen gerundet danach die Addition von a ausgefuhrt und das Endergebnis nochmal auf N Stellen gerundet Bei der fused multiply add Operation entfallt das Runden nach der Multiplikation es wird der Ausdruck a b c mit voller Genauigkeit berechnet und erst am Schluss einmalig auf N finale Stellen gerundet Damit verbunden ist bei der Fused multiply add Operation ein geringfugig hoherer Hardwareaufwand In manchen Situationen reduzieren sich etwas die Rundungsfehler Bei der klassischen Skalarprodukt Berechnung ist dies allerdings nur sehr selten der Fall da meist a gt gt b c ist Dort gewinnt man mit anderen Techniken weitaus mehr Genauigkeit z B durch das Nutzen von 4 oder 8 Akkumulatoren und einer finalen horizontalen Summe Zur Auswertung werden ohne FMA mindestens drei verschiedene Anweisungen benotigt Laden von b und c in Register Bedingung b und c liegen nicht schon in Registern vor und die CPU unterstutzt keine Speicheroperanden Multiplikation von b und c Zwischenspeichern dieses Ergebnisses in einem Register Laden von a in den Akkumulator Bedingung a liegt nicht schon in einem Register vor und die CPU unterstutzt keine Speicheroperanden Addition von a mit den zuvor zwischengespeicherten Produkt b c Falls fur Operationen der Form a a b c displaystyle a leftarrow a b cdot c nbsp spezielle Opcodes definiert sind so erfolgt die Auswertung durch eine optimierte Recheneinheit dem Multiplier Accumulator MAC der diese Anweisung in einem Schritt ausfuhrt Es verbleiben vom obigen Schema nur noch zwei Instruktionen namlich das Laden der Operanden und die anschliessende FMA Instruktion Vorteile Bearbeiten gesteigerte Gleitkommaleistung durch Verwendung der MAC 2 verbesserte Ausnutzung von Registern kompakter MaschinencodeNachteile Bearbeiten die FMA Technik muss durch Compiler unterstutzt werden der so erzeugte Maschinencode benotigt nun Opcodes die von den ublichen 2 Adress oder 3 Adress Schemata abweichen Die Optimierung zur Nutzung von FMA verlangt von Programmierern bisweilen einiges Fingergeschick und auch explizites Eingreifen 3 Implementierungen BearbeitenAMD Radeon HD 5000 und nachfolgende Architekturen 4 ARM VFPv4 5 IBM RISC System 6000 1990 6 HP PA 8000 1996 und spater SCE Toshiba Emotion Engine 1999 Intel Itanium 2001 Intel Core siehe FMA x86 nVidia GT200 und nachfolgende Architekturen 7 STI Cell 2006 Fujitsu SPARC64 VI 2007 und spater AMD Bulldozer 2011 siehe auch FMA4 AMD Zen Ryzen 2017 Einzelnachweise Bearbeiten R K Montoye E Hokenek S L Runyon Design of the IBM RISC System 6000 floating point execution unit In IBM Journal of Research and Development 34 Jahrgang Nr 1 Januar 1990 ISSN 0018 8646 S 59 70 doi 10 1147 rd 341 0059 ibm com http repositories lib utexas edu bitstream handle 2152 3082 quinnelle60861 pdf http infocenter arm com help index jsp topic com arm doc dui0491c CJAEGAJB html http www microway com pdfs GPGPU Architecture and Performance Comparison pdf 1 1 1 VFPv4 architecture hardware support Abgerufen am 16 Mai 2012 Archivierte Kopie Memento des Originals vom 21 Februar 2016 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot archive rootvg net http www nvidia com content PDF fermi white papers NVIDIA Fermi Compute Architecture Whitepaper pdf Abgerufen von https de wikipedia org w index php title Fused multiply add amp oldid 227681960