Hallo allerseits, ich suche seit zwei Tagen krampfhaft nach näheren Informationen (Spezifikationen) über die Fließkomma-Rechenleistung (auch FLOPS genannt) von ARM-Prozessoren. Seit einigen Jahren beschäftige ich mich beruflich mit kleineren Modellen (ARM3, z.B. SIM3U16x von SILABS), bei denen die FLOPS eher uninteressant sind, da dort nur wenig mit floats gerechnet wird. Aktuell habe ich ein Projekt vor der Brust, bei dem so richtig viel gerechnet werden muss. Ein ATOM-PC (1.6GHz), auf dem ein Parallel-Projekt läuft, schafft mindestens 200 MFLOPS. Ist sowas überhaupt mit einem ARM (mit FPU) zu meistern? Bei Taskit gibt es z.B. ein Board mit AT91SAM5D36 von Atmel. Der hat eine FPU, aber keinerlei Angaben zu FLOPS. Getaktet wird der µC mit 528MHz. Theoretisch, wenn die FPU ebenfalls mit dieser Freq getaktet wird, müssten 500 MFLOPS zu schaffen sein. Oder mache ich einen Denkfehler? Wo bekommt man nähere Informationen? Benchmark-Tabellen? (Für PC-Prozessoren gibt es sowas auf unzähligen Seiten!) Viele Grüße Peter
Peter D. schrieb: > Aktuell habe ich ein Projekt vor der Brust, bei dem so richtig viel > gerechnet werden muss. Ein ATOM-PC (1.6GHz), auf dem ein > Parallel-Projekt läuft, schafft mindestens 200 MFLOPS. > > Ist sowas überhaupt mit einem ARM (mit FPU) zu meistern? Wenn du in der Performance-Klasse eines Intel Atoms landet willst, dann schau dich bei jener Sorte ARMs um, wie du sie in Highend-Handys und -Tabs findest. So ungefähr ab Qualcomm Krait und Cortex A15 Cores. Oder orientiere dich in Richtung DSP oder GPU. > Benchmark-Tabellen? (Für PC-Prozessoren gibt es sowas auf unzähligen > Seiten!) Für Android-Handys und -Tabs auch.
Peter D. schrieb: > Hallo allerseits, > > ich suche seit zwei Tagen krampfhaft nach näheren Informationen > (Spezifikationen) über die Fließkomma-Rechenleistung (auch FLOPS > genannt) von ARM-Prozessoren. > > Seit einigen Jahren beschäftige ich mich beruflich mit kleineren > Modellen (ARM3, z.B. SIM3U16x von SILABS), bei denen die FLOPS eher > uninteressant sind, da dort nur wenig mit floats gerechnet wird. > > Aktuell habe ich ein Projekt vor der Brust, bei dem so richtig viel > gerechnet werden muss. Ein ATOM-PC (1.6GHz), auf dem ein > Parallel-Projekt läuft, schafft mindestens 200 MFLOPS. > > Ist sowas überhaupt mit einem ARM (mit FPU) zu meistern? Es geht um 64-Bit double? Zum Cortex-A8 gibt es entsprechende Informationen: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344k/ch16s07s01.html Die VFP ist non-pipelined... Die NFP dagegen pipelined allerdings kann die nur single precision... http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344k/BCGEIHDJ.html Ein Vergleich Atom N330 1.6 GHz vs. Beagle Board OMAP3530 600 MHz http://www.ee.unlv.edu/~meiyang/ecg700/readings/ARM%20Cortex-A8%20vs.%20Intel%20Atom.pdf Linpack Atom 933 MFlops, OMAP 23 MFlops Wenn sich die Berechnungen mit (Integer-)SIMD-Befehlen machen ließen (und parallelisierbar sind) dürfte es ausgeglichener aussehen (keine Benchmark zur Hand)
> Aktuell habe ich ein Projekt vor der Brust, bei dem so richtig viel > gerechnet werden muss. Ein ATOM-PC (1.6GHz), auf dem ein > Parallel-Projekt läuft, schafft mindestens 200 MFLOPS. > > Ist sowas überhaupt mit einem ARM (mit FPU) zu meistern? Prinzipiell denke ich schon. Ich blicke bei der Nummerierung von ARM-Komponenten zwar nicht durch, aber einige wenige Angaben kann man bei ARM durchaus finden: VFP9-S: 1.3Mflops/MHz VFP10: 2.0Mflops/MHz Quelle: http://www.arm.com/products/processors/technologies/vector-floating-point.php Das klingt doch schonmal vielversprechend. :) Man müsste jetzt nur herausfinden welche konkreten Chips diese FPUs verwenden...
Pass auf, dass du nicht Äpfel und Birnen vergleichst. Ein alter 1,6GHz single Core Atom kann in Benchmarks auf 2100 MFLOPs kommen. Das theoretische Limit dürfte noch weit darüber liegen. Was ein wenig mehr ist als deine oben erwähnten 200 MFLOPs. Soll heissen: 1 MFLOP != 1 MFLOP.
Peter D. schrieb: > Aktuell habe ich ein Projekt vor der Brust, bei dem so richtig viel > gerechnet werden muss. Dann überlege, ab sich das auf einer GPU parallelisieren läßt
Moin Moin, vielen Dank für eure ausführlichen Antworten. Die 200 MFLOPS beim ATOM waren auch nur ein grober Richtwert. Ein Faktor 10 wäre noch akzeptabel, da beim ATOM die Berechnungs-Routine ca. 500ms benötigt. Beim ARM hätte sie auch 5 Sek. benötigen dürfen. Nur nicht 5 Stunden :( Die Angaben von Michael: VFP9-S: 1.3Mflops/MHz VFP10: 2.0Mflops/MHz sind ja schon mal ein Wort. Das ist ja sogar mehr als ich theoretisch geschätzt hatte. Es würden übrigens float-Berechnungen (IEEE) reichen (kein 64-Bit-double!). Momentan ist das Projekt aber wieder auf Eis gelegt (liegt aber nicht am ARM-Prozessor!). Der AT91SAM5D36 von Atmel hat übrigens "nur" einen VFP4. Wieviel FLOPS der nun kann habe ich noch nicht gefunden... Grüße Peter
Sonst seh dir mal die Xilinx Zynq an. Das ist ein dual ARM mit FPGA. Den haben wir für sehr rechenintensive Algorithmen benutzt und sind auf Rechenleistungen eines iCore 7 Pentiums gekommen. Setzte allerdings einiges an Arbeit voraus.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.