atari-home.de - Foren
Software => Software (16-/32-Bit) => Thema gestartet von: czietz am Do 21.02.2019, 20:37:20
-
Ich habe den EEMBC CoreMark für den Atari compiliert, in einer Version, die auf allen CPUs (68000 und aufwärts) lauffähig ist.
Was ist CoreMark? Ich zitiere Wikipedia: »Die Motivation hinter CoreMark ist die Schaffung eines generischen und skalierbaren Benchmarks, der für eine große Zahl von Systemen erhältlich ist. Er sollte komplexer und weniger synthetisch als Dhrystone [...] sein. [...] Der CoreMark erlaubt einen Vergleich einer großen Anzahl von Systemen, wobei nicht nur der Embedded-Bereich, sondern auch Desktop- und Server-Systeme abgedeckt werden.«
CoreMark misst im Wesentlichen die Leistung der CPU (inkl. Cache) und des RAM-Zugriffs und ist somit besonders geeignet, die Wirkung von Beschleunigern zu zeigen. FPU, Festplattengeschwindigkeit, ROM-Zugriffe, TOS-Funktionen, Grafik- oder Textausgabe usw. werden nicht betrachtet. Dafür bitte andere Benchmarks verwenden.
Ihr findet CoreMark im Anhang. In einen beliebigen Ordner entpacken und !RUNME.TOS starten. Nach max. 30 Sekunden sollte das Ergebnis erscheinen. Wichtig ist hier die Angabe der Iterations/Sec. Je mehr, desto schneller. Außerdem muss Correct operation validated erscheinen, als Beleg, dass der Benchmark korrekt durchgelaufen ist.
Ein paar Werte als Anhaltspunkt:
- ST oder MegaSTE @ 8 MHz: 1.92 Iterations/Sec,
- MegaSTE @ 16 MHz, Cache aus: 2.12 Iterations/Sec,
- MegaSTE @ 16 MHz, Cache an: 3.62 Iterations/Sec,
- TT mit Storm und EDO-RAM (Coremark läuft im TT-RAM), Cache an: 13.92 Iterations/Sec,
- TT ohne Storm (d.h. Coremark läuft im ST-RAM), Cache an: 8.70 Iterations/Sec.
- Außer Konkurrenz: Intel Core i7-8550U (Notebook-CPU, 4 Kerne): 93875 Iterations/Sec. ;)
Sammlung der Ergebnisse mit atari-kompatibler Hardware in diesem Thread. In Klammern jeweils, wer sie beigetragen hat und die Nummer des Posts für weitere Details.
- Falcon CT60 85Mhz: 192.74 Iterations/Sec. (ama, #6)
- Hades 060 50Mhz:: 121.8 Iterations/Sec. (ama, #6)
- TT mit Storm & EDO-RAM (Coremark läuft im TT-RAM), Cache an, unter MAGX: 12,8 It./Sec (ari.tao, #7)
- F30 mit 32MHz und BlowUp auf 1024x768x4p, unter MAGX: 11,9 It./sec (ari.tao, #7)
- TT @54mhz: 21.725 Iterations/Sec (tuxie, #15)
- Firebee FAST- (also ColdFire-) RAM: Iterations/Sec : 466.744457 (mfro, #17, Hinweis: Coremark für Coldfire compiliert, nicht die 68000-Version aus diesem Post)
- Atari Mega ST4 / PAK68/3-50Mhz 030 / FRAK/2 64MB Fastram: Iterations/Sec : 22.463497 (Lukas Frank, #26)
- Milan060 unter TOS: Iterations/Sec : 115.373519 (KarlMüller, #27)
- CT2A Falcon: Iterations/Sec: 22,091310 (Ektus, #39)
- Milan040 (25 MHz/48 MB RAM): bis zu 33,126 (Nervengift, #47)
- CT63 mit CTPCI, CPU bei 95MHz: 214,899719 Iterations/s (Ektus, #48)
- CT63 mit CTPCI, CPU bei 105MHz: 232,288040 Iterations/s (Ektus, #48)
- Standard Falcon030 in ST-High: 6,49 Iterations/s (ama, #50)
- ST mit 68020-Beschleuiniger @ 32 MHz: 4,80 Iterations/s (czietz, #51)
Link zu Coremark: https://github.com/eembc/coremark/
Link zum Quellcode der Version für den Atari: https://github.com/czietz/coremark
Ergebnisse:
https://github.com/czietz/coremark/wiki/Results (https://github.com/czietz/coremark/wiki/Results)
-
Vielen Dank. Wird gleich mal zum SAM getestet.
-
Danke Christian, auf Firebee läufts auch? Dann würden mich echt mal die Werte der Firebee und dem Falcon mit CT60 interessieren.
-
Und Vampire. Falcon ct60e bei 95 Mhz kann ich mal testen, aber nicht mehr heute. Ich muss erst die NVRAM-Batterie wechseln.
-
Danke Christian, auf Firebee läufts auch? Dann würden mich echt mal die Werte der Firebee und dem Falcon mit CT60 interessieren.
Es ist wie gesagt für 68000 compiliert, nicht für ColdFire. Für die Firebee wird also eventuell diese 68000-Emulations-Bibliothek gebraucht, die sicherlich die Messergebnisse verfälscht. Falcon (auch mit 68060) dürfte kein Problem sein.
-
Schade, hätte mich echt mal interessiert.
-
Nur so für Spaß
- Falcon CT60 85Mhz: 192.74 Iterations/Sec.
- Hades 060 50Mhz:: 121.8 Iterations/Sec.
-
TT mit Storm & EDO-RAM (Coremark läuft im TT-RAM), Cache an: 12,8 It./Sec
F30 mit 32MHz und BlowUp auf 1024x768x4p: 11,9 It./sec
Beide unter MAGX. Unter MiNT: 12,9 (beide)
-
Ich habe den EEMBC CoreMark für den Atari compiliert, in einer Version, die auf allen CPUs (68000 und aufwärts) lauffähig ist.
Gibs die PortFiles dazu irgendwo? Mich irritiert ein bisschen, daß es offensichtlich mit gcc kompiliert wurde, die erzeugten Programme aber relativ klein sind. Seh ich das richtig daß RUNME nichts anderes macht als coremark.tos mit den entsprechenden Parametern aufzurufen?
PS.: Just for fun:
Iterations/Sec : 104472.739145 (Intel Core I7-7700, 4 threads)
Iterations/Sec : 170848.905499 (Intel Core I7-7700, 8 threads)
Iterations/Sec : 3382.187255 ARAnYM (JIT)
Iterations/Sec : 199.203186 STonX
-
Boah, muß unbedingt Aranym installieren....
Kein Wert für Hatari?
-
Kein Wert für Hatari?
Doch, klar:
TT 030@32Mhz: Iterations/Sec : 10.961907 (ohne fast forward)
Iterations/Sec : 109.799613 (mit fast forward)
und zum Vergleich:
ARAnyM Iterations/Sec : 197.109069 (ohne JIT)
Hatari scheint da trotz fast/forward doch erheblich mehr Overhead zu haben. Die Tests mit ARAnyM wurde übrigens unter Mint ausgeführt.
-
Danke.
-
Gibs die PortFiles dazu irgendwo? Mich irritiert ein bisschen, daß es offensichtlich mit gcc kompiliert wurde, die erzeugten Programme aber relativ klein sind.
libcmini. Die Dateien wollte ich noch nicht hochladen, weil ich dort (ins core_portme.mak) Pfade hartcodiert habe, die für mein System passen. EDIT: Portfiles: https://github.com/czietz/coremark
Seh ich das richtig daß RUNME nichts anderes macht als coremark.tos mit den entsprechenden Parametern aufzurufen?
Korrekt.
-
...
PS.: Just for fun:
Iterations/Sec : 104472.739145 (Intel Core I7-7700, 4 threads)
Iterations/Sec : 170848.905499 (Intel Core I7-7700, 8 threads)
Iterations/Sec : 3382.187255 ARAnYM (JIT)
Iterations/Sec : 199.203186 STonX
Wow, ist ARAnYM mit BeeKey?
-
Nein, einfach nur unter linux ausgeführt. Müsste auf BeeKey aber ca. das gleiche Ergebnis bringen.
-
TT @54mhz 21.725 Iterations/Sec
-
CT2A unter MagiC, gestartet aus Konsole von Gemini: Absturz mit "Speicherblock durch Benutzerprogramm zerstört" nach der Zeile "(s)COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000"
Daten des MCB: $004E442 $00008A78 $00000000 $003B85F4
-
Schade, hätte mich echt mal interessiert.
Firebee FAST- (also ColdFire-) RAM:
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 2571
Total time (secs): 12.855000
Iterations/Sec : 466.744457
Iterations : 6000
Compiler version : GCC4.6.4 (MiNT 20130415)
Compiler flags : -O2 -DUSE_CLOCK=1 -DPERFORMANCE_RUN=1
Memory location : Please put data memory location here
(e.g. code in flash, data on heap etc)
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0xa14c
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 466.744457 / GCC4.6.4 (MiNT 20130415) -O2 -DUSE_CLOCK=1 -DPERFORMANCE_RUN=1 / Heap
-
... und - wenn wir schon mal dabei sind - der Einfluss des Firebee FPGA-RAM (praktisch = ST RAM):
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 2638
Total time (secs): 13.190000
Iterations/Sec : 151.630023
Iterations : 2000
Compiler version : GCC4.6.4 (MiNT 20130415)
Compiler flags : -O2 -DUSE_CLOCK=1 -DPERFORMANCE_RUN=1
Memory location : Please put data memory location here
(e.g. code in flash, data on heap etc)
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0x4983
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 151.630023 / GCC4.6.4 (MiNT 20130415) -O2 -DUSE_CLOCK=1 -DPERFORMANCE_RUN=1 / Heap
Das entspricht allerdings nicht dem offiziellen Auslieferungszustand, der kein "echtes" ST RAM hat.
-
CT2A unter MagiC, gestartet aus Konsole von Gemini: Absturz mit "Speicherblock durch Benutzerprogramm zerstört" nach der Zeile "(s)COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000"
Daten des MCB: $004E442 $00008A78 $00000000 $003B85F4
Kannst Du bitte COREMARK.TOS mal direkt aus der Gemini-Konsole starten, einmal ohne Parameter und einmal mit den o.g. Parametern, d.h.
COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000
Gibt es den gleichen Fehler?
-
Firebee FAST- (also ColdFire-) RAM:
Bitte erwähne aber dazu, dass es sich nicht um das COREMARK.TOS aus diesem Thread handelt, sondern dass Du es mit einem anderen Compiler und für ColdFire compiliert hast.
-
CT2A unter MagiC, gestartet aus Konsole von Gemini: Absturz mit "Speicherblock durch Benutzerprogramm zerstört" nach der Zeile "(s)COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000"
Daten des MCB: $004E442 $00008A78 $00000000 $003B85F4
Kannst Du bitte COREMARK.TOS mal direkt aus der Gemini-Konsole starten, einmal ohne Parameter und einmal mit den o.g. Parametern, d.h.
COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000
Gibt es den gleichen Fehler?
Ich würde einen Stacküberlauf ausschließen wollen:
stack -S 128k coremark.tos
-
Firebee FAST- (also ColdFire-) RAM:
Bitte erwähne aber dazu, dass es sich nicht um das COREMARK.TOS aus diesem Thread handelt, sondern dass Du es mit einem anderen Compiler und für ColdFire compiliert hast.
Natürlich. Deswegen ist der komplette Output run1.log mit dran, da steht alles drin ;).
Ansonsten ist das der unmodifizierte, "offizielle" CoreMark Code, 1:1 wie direkt von github runtergeladen, also alles wie vorgesehen.
-
Vielleicht besser mal ohne Gemini laufen lassen? Auch die allerletzte Version 1a hatte mW. noch einen Bug bzgl. der Konsole. Oder könnt Ihr das ausschließen?
-
CT2A unter MagiC, gestartet aus Konsole von Gemini: Absturz mit "Speicherblock durch Benutzerprogramm zerstört" nach der Zeile "(s)COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000"
Daten des MCB: $004E442 $00008A78 $00000000 $003B85F4
Kannst Du bitte COREMARK.TOS mal direkt aus der Gemini-Konsole starten, einmal ohne Parameter und einmal mit den o.g. Parametern, d.h.
COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000
Gibt es den gleichen Fehler?
PS: Ich habe gerade unter MagiC 6.2 (aber auf dem ST, EDIT: mit und ohne Gemini) getestet und konnte keinen Absturz beobachten.
Davon abgesehen würde ich aber CPU-Benchmarks immer unter einem Single-Tasking-OS (d.h. TOS) durchführen, damit sich der Benchmark die CPU nicht mit anderen Hintergrundprozessen teilen muss.
-
Habs gerade mal mit einer selbst übersetzten Version ausprobiert. Die 68k-Version funktioniert, wenn ichs mit -m68020 übersetze hab ich unter Gemini aber auch seltsame Phänomene (schreibt irgendwie seinen eigenen Speicher auf den Bildschirm). Bei mir hat es geholfen, die Ausgabe in eine Datei umzuleiten. Ist mir allerdings schleierhaft warum sich die beiden Version unterschiedlich verhalten.
-
Atari Mega ST4 / PAK68/3-50Mhz 030 / FRAK/2 64MB Fastram
Iterations/Sec : 22.463497
-
Milan060 unter TOS:
Iterations/Sec : 115.373519
Unter MagiC mit VT52 knallt es auch.
Würde das Ergebnis nochmal steigen, wenn man eine Version für den 060 nutzen hätte?
-
Würde das Ergebnis nochmal steigen, wenn man eine Version für den 060 nutzen hätte?
Mutmaßlich ja, denn ich sehe den Effekt auch auf dem TT, wenn ich Coremark speziell für den 68030 compiliere. Aber es würde imho die Vergleichbarkeit senken, wenn jeder eine speziell für seine Maschine optimierte Version nutzte.
-
@czietz , aber genau das ist es doch, man sollte schon auch die CPU auf dem es läuft voll unterstützen, nur so sehe ich doch wirklich wie gross der unterschied ist zwischen en CPU? Oft macht es doch die Größere CPU erst aus das neue und veränderte Befehle existieren. Oder sehe ich das Falsch ? Ich meine es geht jetzt nicht darum um werte zu erhaschen sondern um den tatsächlichen Performance Unterschied?
Ich meine bei einem Autorennen schaltet man ja auch nicht zwei Cylinder ab nur weil der andere zwei weniger hat ?
-
@tuxie, Du kannst dann aber nicht mehr trennen, ob der Codegenerator im Compiler für diese CPU einfach besser optimiert (= Compiler ist besser) oder ob die CPU wirklich von ihrem erweiterten Befehlssatz profitiert (= CPU ist besser). Siehe KarlMüllers Kritik an der Compiler-Abhängigkeit in https://forum.atari-home.de/index.php/topic,15025.msg237452.html#msg237452.
-
Unter MagiC mit VT52 knallt es auch.
Das muss dann ein spezielles Problem mit MagiC auf dem 68060 sein, auf dem 68000 und dem 68030 läuft mein COREMARK.TOS (inkl. !RUNME.TOS) auch unter MagiC einwandfrei. Da ich MagiC in der 68060-Emulation von Hatari nicht einmal gestartet bekomme und auch keine passende echte Hardware besitze, weiß ich nicht wie ich das debuggen sollte.
-
Ich meine bei einem Autorennen schaltet man ja auch nicht zwei Cylinder ab nur weil der andere zwei weniger hat ?
Der Motorsport ist sogar sehr reglementiert, deswegen gibt es da verschiedene Rennklassen. Z.B. in der Formel 1 ist sehr genau festgelegt, was darf und was nicht, z.B. ob und wieviele Turbolader oder nicht.
Ich denke, bei Benchmarks muss es beides geben, die Variante, die überall läuft, weil ja auch nicht von jeder Software eine auf bestimmte CPU optimierte Variante existiert, und eine möglichst optimierte Version, die zeigt, was unter Ausnutzung aller CPU-Features zeigt, was möglich wäre. Letzteres vor allem als Anreiz, solch CPU-spezialisierte Software zu erstellen, wenn die Anwendung von den erweiterten CPU-Features profitiert. (Eine Textverarbeitung wartet auf der moderneren CPU nur schneller auf die Eingaben des Autors.)
-
Würde das Ergebnis nochmal steigen, wenn man eine Version für den 060 nutzen hätte?
Mutmaßlich ja, denn ich sehe den Effekt auch auf dem TT, wenn ich Coremark speziell für den 68030 compiliere. Aber es würde imho die Vergleichbarkeit senken, wenn jeder eine speziell für seine Maschine optimierte Version nutzte.
Möglicherweise wäre der Unterschied sogar erheblich. Dem 060 fehlen ein paar FPU-Instruktionen der 68881/2 Coprozessoren. Falls gcc auf die Idee gekommen ist, die im Code zu verwenden (unwahrscheinlich, aber nicht ausgeschlossen), muß der Prozessor über einen Illegal Instruction TRAP durch die Motorola Emulations-Library und wird richtig lahm.
Wahrscheinlich liegt die (im Vergleich zur sonstigen 060 Performance) eher niedrige Geschwindigkeit aber eher daran, daß Motorola das ganze Superskalar-Zeug nur den Integer-Befehlen angedeihen ließ. Effektiv läuft die FPU im 060 nur mit etwa einem Drittel der Geschwindigkeit vom Rest.
Ist die 060-FPU-Emulationslibrary bei Magic überhaupt vorhanden/aktiv? Vielleicht ist das ja schon der ganze Grund.
-
Möglicherweise wäre der Unterschied sogar erheblich. Dem 060 fehlen ein paar FPU-Instruktionen der 68881/2 Coprozessoren. Falls gcc auf die Idee gekommen ist, die im Code zu verwenden (unwahrscheinlich, aber nicht ausgeschlossen), muß der Prozessor über einen Illegal Instruction TRAP durch die Motorola Emulations-Library und wird richtig lahm.
Hinweis: Das ist der Coremark-Thread. Coremark nutzt keine Floating-Point-Operationen im Benchmark-Kern. Nur zur Berechnung der Iterationen / Sekunde bei der Ausgabe, natürlich -- aber da das Binary für 68000 compiliert ist, werden diese Rechnung per Software-Floating-Point-Bibliothek erledigt.
Im LINPACK-Thread würde ich Dir hingegen recht geben.
-
Möglicherweise wäre der Unterschied sogar erheblich. Dem 060 fehlen ein paar FPU-Instruktionen der 68881/2 Coprozessoren. Falls gcc auf die Idee gekommen ist, die im Code zu verwenden (unwahrscheinlich, aber nicht ausgeschlossen), muß der Prozessor über einen Illegal Instruction TRAP durch die Motorola Emulations-Library und wird richtig lahm.
Hinweis: Das ist der Coremark-Thread. Coremark nutzt keine Floating-Point-Operationen im Benchmark-Kern. Nur zur Berechnung der Iterationen / Sekunde bei der Ausgabe, natürlich -- aber da das Binary für 68000 compiliert ist, werden diese Rechnung per Software-Floating-Point-Bibliothek erledigt.
Im LINPACK-Thread würde ich Dir hingegen recht geben.
Danke Christian - ich war offensichtlich Benchmark-verwirrt im anderen Thread ;)
-
Ich meine bei einem Autorennen schaltet man ja auch nicht zwei Cylinder ab nur weil der andere zwei weniger hat ?
Der Motorsport ist sogar sehr reglementiert, deswegen gibt es da verschiedene Rennklassen. Z.B. in der Formel 1 ist sehr genau festgelegt, was darf und was nicht, z.B. ob und wieviele Turbolader oder nicht.
Ich denke, bei Benchmarks muss es beides geben, die Variante, die überall läuft, weil ja auch nicht von jeder Software eine auf bestimmte CPU optimierte Variante existiert, und eine möglichst optimierte Version, die zeigt, was unter Ausnutzung aller CPU-Features zeigt, was möglich wäre. Letzteres vor allem als Anreiz, solch CPU-spezialisierte Software zu erstellen, wenn die Anwendung von den erweiterten CPU-Features profitiert. (Eine Textverarbeitung wartet auf der moderneren CPU nur schneller auf die Eingaben des Autors.)
Denke ich auch je nachdem was man gerade Vergleichen möchte macht mal das Eine oder das Andere Sinn. Hat also beides seine Berechtigung.
-
Da ich MagiC in der 68060-Emulation von Hatari nicht einmal gestartet bekomme
Mit der neuen Version von MagiC geht es prinzipiell (siehe https://forum.atari-home.de/index.php/topic,14246.msg235591.html#msg235591). Wenn du EmuTOS zum booten benutzt, musst du es allerdings mit -m68060 übersetzen, weil es sonst Instruktionen enthält die auf 060 nicht existieren, und MagiC keine Emulation dafür hat.
-
Ist die 060-FPU-Emulationslibrary bei Magic überhaupt vorhanden/aktiv? Vielleicht ist das ja schon der ganze Grund.
Vorhanden insofern daß sie im Source-Tree existiert. Wird aber nur für den Hades eingebunden. Beim Milan verlässt MagiC sich darauf daß das schon vom Milan-TOS übernommen wurde. Für "normale" Ataris wird da nichts eingebunden, und würde dann krachen.
-
Auf dem CT2A Falcon "ohne alles": Total time: 13.579999s, Iterations/Sec: 22,091310
-
Auf dem Milan 040 mit MagiC, Ausführung im VT52: Crash.
Ohne Auto-Ordner, ohne FPU-Emulation: Total ticks 3568, Total Time 17,84s, 33,63 Iterations/s.
Nach Start von FPU__2M.PRG: Werte praktisch unverändert (3567, 17,83499, 33,64)
MfG
Ektus.
-
Auf dem Milan 040 mit MagiC, Ausführung im VT52: Crash.
Siehe meine Fragen in https://forum.atari-home.de/index.php/topic,15024.msg237402.html#msg237402.
Ohne Auto-Ordner, ohne FPU-Emulation: Total ticks 3568, Total Time 17,84s, 33,63 Iterations/s.
Nach Start von FPU__2M.PRG: Werte praktisch unverändert (3567, 17,83499, 33,64)
Was kein Wunder ist, Coremark nutzt keine FPU.
-
Langsam wäre mal eine strukturierte Tabelle für all die Ergebnisse beider Benchmarks interesant, vielleicht auch mit Vergleichen aus der Intel/ARM/PPC-Welt, um die Ergebisse einzunorden.
-
^^-- Ja, mach mal.
-
CT2A unter MagiC, gestartet aus Konsole von Gemini: Absturz mit "Speicherblock durch Benutzerprogramm zerstört" nach der Zeile "(s)COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000"
Daten des MCB: $004E442 $00008A78 $00000000 $003B85F4
Kannst Du bitte COREMARK.TOS mal direkt aus der Gemini-Konsole starten, einmal ohne Parameter und einmal mit den o.g. Parametern, d.h.
COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000
Gibt es den gleichen Fehler?
Auf dem Milan,unter MagiC, Start ohne Parameter und Ausführung im VT52: Kein crash, 32,33 Iterations/s.
Mupfel in VT52, Start mit Parametern: Kein Crash, 32,19 Iterations/s.
Mupfel in VT52, Start von !runme.tos: Kein Crash, 32,18 Iterations/s.
Start von !runme.tos per Doppelclick aus Jinnee: crash.
Daten des MCB: $004E4452 $000069B0 $00000000 $003FD964
Mit freundlichem Gruß aus Bubenreuth
Ektus.
-
Gemulator mit EmuTOS auf aktuellem Windows-PC: 861 Iterations/Sekunde.
-
Auf dem Milan,unter MagiC, Start ohne Parameter und Ausführung im VT52: Kein crash, 32,33 Iterations/s.
Mupfel in VT52, Start mit Parametern: Kein Crash, 32,19 Iterations/s.
Mupfel in VT52, Start von !runme.tos: Kein Crash, 32,18 Iterations/s.
Start von !runme.tos per Doppelclick aus Jinnee: crash.
Sorry, so richtig ist mir immer noch nicht klar, wann es bei Dir läuft und wann es abstürzt. Weiter oben schriebst Du ja noch "Auf dem Milan 040 mit MagiC, Ausführung im VT52: Crash." Gilt das also nur beim Start von Jinnee aus? Was passiert, wenn Du COREMARK.TOS per Doppelclick aus Jinnee startest?
Jedenfalls kann ich das nicht nachvollziehen: unter Hataris 68040-Emulation, mit MagiC 6.2 und (Demoversion von) Jinnee stürzt nichts ab. Und Fehler, die ich nicht nachvollziehen kann, kann ich auch nicht beheben.
-
Ich habe auf meinem Milan040 (25 MHz/48 MB RAM) auch mal ein wenig rumprobiert mit Coremark. Hier meine Ergebnisse:
MiNT 1.19.x/XaAES/Thing 1.29: Per Doppelklick klappt's vom Desktop aus nicht. Ruft man in TOSWIN2 runme.tos auf passiert nichts. Ruft man stattdessen coremark.tos auf und übergibt die Parameter aus der Batch-Datei manuell, dann geht's. Allerdings produziert das Programm dann meistens eine Fehlermeldung. (Siehe angehängten Screenshot)
MiNT 1.18.0/MyAES 0.97/Teradesk 4.08: Ausführen von runme.tos per Doppelklick vom Desktop aus klappt ohne Probleme. Allerdings kommt es beim Ausführen des Programms meistens zu dem 10 Sekunden Fehler. (Siehe Screenshots)
MiNT 1.18.0/N.AES 2.0/Thing 1.29: Läuft ohne Probleme und ohne Fehlermeldungen! (Siehe Screenshot)
Cripple MiNT 1.15.x/AES 4.1/Newdesk: Ausführung ist kein Problem aber es kommt IMMER zum 10 Sekunden Fehler. (Siehe Screenshot)
Magic Milan 6.1/Jinnee 2.5/VT 52: Auch hier ist das Ausführen kein Problem. Keine Crashs. Nur kommt es auch unter Magic oft zum 10 Sekunden Fehler. (Siehe Screenshots)
Die Interpretation der Messwerte überlasse ich mal lieber geschultem Personal. Leider sagen die mir rein gar nichts. :-[ Vielleicht helfen sie ja auch @czietz weiter?
-
Auf dem Milan,unter MagiC, Start ohne Parameter und Ausführung im VT52: Kein crash, 32,33 Iterations/s.
Mupfel in VT52, Start mit Parametern: Kein Crash, 32,19 Iterations/s.
Mupfel in VT52, Start von !runme.tos: Kein Crash, 32,18 Iterations/s.
Start von !runme.tos per Doppelclick aus Jinnee: crash.
Sorry, so richtig ist mir immer noch nicht klar, wann es bei Dir läuft und wann es abstürzt. Weiter oben schriebst Du ja noch "Auf dem Milan 040 mit MagiC, Ausführung im VT52: Crash." Gilt das also nur beim Start von Jinnee aus? Was passiert, wenn Du COREMARK.TOS per Doppelclick aus Jinnee startest?
Jedenfalls kann ich das nicht nachvollziehen: unter Hataris 68040-Emulation, mit MagiC 6.2 und (Demoversion von) Jinnee stürzt nichts ab. Und Fehler, die ich nicht nachvollziehen kann, kann ich auch nicht beheben.
Crash passiert dann, wenn ich !runme.tos unter MagiC 6.2 per Doppelclick vom Desktop starte. Die Ausgaben landen dann in VT52 (wenn der Desktop Jinnee ist) oder der Konsole von Gemini.
Das gilt auf dem Milan und dem CT2A Falcon. Auf der CT63 läuft es seltsamerweise, wobei da die Ausgaben im VT52 landen, obwohl Gemini der Desktop ist. Wahrscheinlich in der magx.inf so konfiguriert.
Total time 13.960s, 214,899719 Iterations/s, 3000 Iterations (CT63 mit CTPCI, CPU bei 95MHz).
Total time 12.915s, 232,288040 Iterations/s, 3000 Iterations (CT63 mit CTPCI, CPU bei 105MHz).
Mit freundlichem Gruß aus Ahornberg
Ektus.
-
Allerdings produziert das Programm dann meistens eine Fehlermeldung. (Siehe angehängten Screenshot)
Wie schon einmal erwähnt, ist testen unter einem Multitasking-OS immer problematisch. Coremark testet zunächst eine Sekunde lang, um die Geschwindigkeit des Systems einzuschätzen und die Anzahl der Testdurchläufe für einen 10-Sekunden-Test festzulegen. Wenn in der ersten Sekunde aber ein OS "dazwischengrätscht", schätzt Coremark das System initial zu langsam ein und rechnet zu wenige Iterationen aus.
Du kannst mit dem vierten Parameter (COREMARK.TOS 0x0 0x0 0x66 0 7 1 2000) eine Anzahl von Iterationen vorgeben, z.B. 400; aber generell würde ich immer unter TOS testen.
-
Standard Falcon030
- in ST-High: 6,49 Iterations/s
- in 256c: 5.12 Iterations/s
:-\
-
ST mit 68020-Beschleuiniger @ 32 MHz: 4,80 Iterations/s
-
MegaSTE @ 8 Mhz: 1.448225 Iterations/Sec (Super TOS UK)
MegaSTE @ 8 Mhz: 1.448750 Iterations/Sec (Tos 2.06 DE)
MegaSTE @ 16 Mhz: 3.165809 Iterations/Sec (Tos 2.06 DE, Cache an)
MegaSTE @ 16 Mhz: 1.633986 Iterations/Sec (Tos 2.06 DE, Cache aus)
-
ST mit 68020/16Mhz (PAK68/2): 4,016064 Iterations/Sec
-
Vampire V4 Standalone (unter EmuTOS, "pre-release" Core): 247,8 Iterations/Sec
@Johannes: Leider kann ich das Posting #1 in dem Thread nicht mehr editieren. Bislang hatte ich alle Ergebnisse dort gesammelt.
-
Vampire V4 Standalone (unter EmuTOS, "pre-release" Core): 247,8 Iterations/Sec
Interessant. Sicher, dass das so stimmt?
Das würde ja bedeuten, dass Vampire - im Gegensatz zu den Aussagen, die man anderswo schon lesen konnte - nicht deutlich schneller als die Firebee, sondern im Gegenteil deutlich langsamer wäre?
-
Das würde ja bedeuten, dass Vampire - im Gegensatz zu den Aussagen, die man anderswo schon lesen konnte - nicht deutlich schneller als die Firebee, sondern im Gegenteil deutlich langsamer wäre?
Darf ich Dich daran erinnern, dass die Zahl, die Du mir für die Firebee genannt hast, nicht mit den übrigen Zahlen vergleichbar ist!? Du hast bekanntermaßen Coremark für Coldfire optimiert neu compiliert, womit die Firebee einen unfairen Vorteil bekommt. Ich habe mit der 68000-Version (ohne Optimierung für die Vampire) getestet.
-
Davon abgesehen passt der Wert imho ganz gut zu den offiziellen Benchmark-Resultaten (auf einem Amiga), die die Apollo-Core-Entwickler veröffentlichen: https://www.apollo-accelerators.com/files/Apollo_datasheet.pdf
Nach ihrem Benchmark ist der Apollo-Core (in der Vampire V2) etwa doppelt so schnell wie ein 68060 bei 66 MHz. Nun haben wir in diesem Thread kein Coremark-Resultat für 68060 exakt für 66 MHz, aber die Größenordnung passt, verglichen mit z.B. amas Ergebnissen.
-
Das würde ja bedeuten, dass Vampire - im Gegensatz zu den Aussagen, die man anderswo schon lesen konnte - nicht deutlich schneller als die Firebee, sondern im Gegenteil deutlich langsamer wäre?
Darf ich Dich daran erinnern, dass die Zahl, die Du mir für die Firebee genannt hast, nicht mit den übrigen Zahlen vergleichbar ist!? Du hast bekanntermaßen Coremark für Coldfire optimiert neu compiliert, womit die Firebee einen unfairen Vorteil bekommt. Ich habe mit der 68000-Version (ohne Optimierung für die Vampire) getestet.
Das ist mir wohl bekannt.
Ich habe mit demselben Compiler Code für einen anderen Prozessor erzeugt (nicht "optimiert" - zumindest nicht anders als für den 68000er) - anders geht das bei mir halt nicht, weil ich kein Firetos mit cf68klib (mehr) benutze.
Was passiert mit dem Coremark auf der Vampire-Karte, wenn Du ihn für 040 oder 060 compilierst?
-
Wenn schon die Coldfire-Version vom Coremark gegen Vampire antritt, dann bitte für Vampire eine Version kompilieren, die die speziellen 080 Features (Pipeline, AMMX, etc.) nutzt! Neue Coldfire-Befehle sollen ja (zumindestens teilweise?) auch im 080 unterstützt werden.
-
Was ich "regelgerecht" liefern kann, sind die Ergebnisse vom MiST im "STEroids"/68020 Modus (MiNT + 1280x960x1):
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 2313
Total time (secs): 11.565000
Iterations/Sec : 17.293558
Iterations : 200
Compiler version : GCC4.6.4 (MiNT 20130415)
Compiler flags : -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1
Memory location : Code and data in RAM
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0x382f
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 17.293558 / GCC4.6.4 (MiNT 20130415) -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1 / Code and data in RAM
-
Was passiert mit dem Coremark auf der Vampire-Karte, wenn Du ihn für 040 oder 060 compilierst?
Das wäre ein Äpfel-mit-Birnen-Vergleich, denn Sinn dieses Threads ist es ja, dass alle dasselbe Programm benutzen. Auch gibt es keinen gcc (als Crosscompiler für TOS-Binaries, jedenfalls), der den Instruktionssatz des Apollo-Cores voll ausnutzt: SIMD, etc.
Jedenfalls entspricht das Coremark-Ergebnis einem 68060 mit ca. 115 MHz Takt, laut Datenblatt (für Vampire V2) entspricht der Kern einem 68060 mit ca. 130 MHz Takt und das Ergebnis des CPU-Benchmarks von Kronos (wiederum auf der V4SA) entspricht einem 68060 mit ca. 140 MHz Takt. Die Größenordnung ist überall gleich; die Details hängen sicherlich davon ab, wie gut der Apollo-Core die Instruktionen des jeweiligen Benchmarks parallelisieren kann.
Wenn schon die Coldfire-Version vom Coremark gegen Vampire antritt, dann bitte für Vampire eine Version kompilieren, die die speziellen 080 Features (Pipeline, AMMX, etc.) nutzt! Neue Coldfire-Befehle sollen ja (zumindestens teilweise?) auch im 080 unterstützt werden.
Baust Du mir so eine Version? Dann mache ich das. (Aber es bleibt dabei: das sind Äpfel mit Birnen.)
-
Das mit den Äpfeln und Birnen ist schon klar, eigentlich wäre es sogar Äpfel gegen Birnen gegen Pflaumen (68000 vs Coldfire vs 68080). Leider kann ich das nicht machen. Aber mit @Thorsten Otto haben wir doch hier jemand, der den gcc weiter entwickelt. Vielleicht muss man ja mal nur in der Amiga-Community fragen, ob die den gcc schon für 68080 entsprechend weiterentwickelt haben, und diese Änderungen als weitere Compiler-Option in die Atari-Version einbauen?
-
"weiterentwickeln" wäre übertrieben ;) Aber beppo hatte schon mal was in Richtung 68080 angefangen, auf Basis von gcc 6.5 oder so, zu finden auf https://github.com/bebbo/gcc . Benutzt allerdings als Assembler dann vasm. Ich weiss auch nicht wie einfach sich die Änderungen auf neuere Compiler-Versionen übertragen lassen.
-
ST mit Alt-RAM und 68010-CPU: 2,07 Iterations/s.
ST mit 68010-CPU (ohne Alt-RAM): 1,97 Iterations/s.
-
ST mit PAK/2 68020 @ 25 MHz: 4,03 Iterations/s.
-
TT mit 48-MHz-Beschleuniger: 19,42 Iterations/s (+40% gegenüber 13,92 vorher). Storm mit EDO-RAM, Coremark läuft im TT-RAM.
-
STE mit 32-MHz-Beschleuniger (68000 CPU): 2.575 Iterations/s (Quelle: Facebook-Post).
-
Außer Konkurrenz, weil andere Architektur, anderer Compiler und anderes OS:
Die PC-Speed mit einem NEC V30 @ 8 MHz unter MS-DOS:
CoreMark 1.0 : 0.858811 / Open Watcom Version 1.9 -0 -ms -ox / Code and data in RAM
Erheblich langsamer als der 68000er bei 8 MHz, wobei ein Teil davon auch am Compiler liegen könnte. Der m68k-gcc optimiert schon recht gut.
Da ich weiß, dass @Gaga förmlich darauf brennt, seine x86-Addons demselben Test zu unterziehen, ist auch meine 8086-Version von CoreMark angehängt.
PS: Es war gar nicht so einfach, einen C-Compiler zu finden, der Code für einen 8086 (d.h. Real-Mode und eingeschränkter Befehlssatz) unter DOS baut und der nicht aus dem letzten Jahrtausend ist.
-
Der einzige den ich jemals benutzt habe um 16bit-code für x86 zu erzeugen war Borland-C. Dürfte mittlerweile frei erhältlich sein, wobei das andere Problem darin bestehen dürfte eine Umgebung zu bauen in der man ihn überhaupt noch ausführen kann. Andere Alternative ist vlt. Pacific-C, der zum bauen der PC-GEM version benutzt wird. Welchen hast du denn genommen?
PS.: falls zu off-topic, einfach ignorieren ;)
-
... wobei das andere Problem darin bestehen dürfte eine Umgebung zu bauen in der man ihn überhaupt noch ausführen kann...
Borland-C lief bei mir auf Anhieb und ohne Klimmzüge in einer (Debian-) Standard-DOSEMU (http://www.dosemu.org/)-Umgebung
-
Borlands Turbo C habe ich früher auch genutzt. Und tatsächlich wurde es irgendwann von Borland / Inprise / Embarcadero / Codegear / Wie-auch-immer-diese-Firma-damals-gerade-hieß offiziell freigegeben.
Aber ich habe den Watcom Compiler verwendet, da es ihn in einer Windows-Version gibt (keine DOSBox, keine Probleme mit langen Dateinamen) und da er bis ca. 2010 weiterentwickelt wurde und somit -- ohne dass ich es aber getestet hätte -- besseren Code generieren dürfte als Turbo C.
-
Borlands Turbo C habe ich früher auch genutzt. Und tatsächlich wurde es irgendwann von Borland / Inprise / Embarcadero / Codegear / Wie-auch-immer-diese-Firma-damals-gerade-hieß offiziell freigegeben.
Aber ich habe den Watcom Compiler verwendet, da es ihn in einer Windows-Version gibt (keine DOSBox, keine Probleme mit langen Dateinamen) und da er bis ca. 2010 weiterentwickelt wurde und somit -- ohne dass ich es aber getestet hätte -- besseren Code generieren dürfte als Turbo C.
Ohoh, ich höre die Aufrufe nach einem Compilerexplorer a la Matt Godbolt, für Retro-Compiler …
-
TT mit verbessertem 48-MHz-Beschleuniger: 21,2 Iterations/s (+50% gegenüber einem Standard-TT mit 13,92 It/s.). Storm mit EDO-RAM, Coremark läuft im TT-RAM.
-
TT mit verbessertem 48-MHz-Beschleuniger: 21,2 Iterations/s (+50% gegenüber einem Standard-TT mit 13,92 It/s.). Storm mit EDO-RAM, Coremark läuft im TT-RAM.
+50% ?
-
TT mit verbessertem 48-MHz-Beschleuniger: 21,2 Iterations/s (+50% gegenüber einem Standard-TT mit 13,92 It/s.). Storm mit EDO-RAM, Coremark läuft im TT-RAM.
+50% ?
Ja, ca. +50%. 21,2 / 13,92 = 1,52.
-
Entspricht ziemlich genau der Taktdifferenz, oder?
-
Entspricht ziemlich genau der Taktdifferenz, oder?
Ja, was an sich eine beeindruckende Leistung ist.
Oftmals skalieren die Werte bei Beschleunigern nämlich nicht mit der Taktfrequenz. Siehe weiter oben in diesem Thread den STE mit 32 MHz (vierfacher Takt), der auf 2,575 Iterations/s (statt auf 1,92 It/s für einen Standard-STE) kommt.
-
Entspricht ziemlich genau der Taktdifferenz, oder?
Ja, was an sich eine beeindruckende Leistung ist.
Oftmals skalieren die Werte bei Beschleunigern nämlich nicht mit der Taktfrequenz. Siehe weiter oben in diesem Thread den STE mit 32 MHz (vierfacher Takt), der auf 2,575 Iterations/s (statt auf 1,92 It/s für einen Standard-STE) kommt.
Da stimme ich dir voll zu.
-
Atari Falcon:
68030 @ 16 MHz (Standardkonfiguration), Videomodus 16 Farben: 6,35 It/s (vgl. auch Post #50)
68030 @ 8 MHz, Videomodus 16 Farben: 3,17 It/s
68030 @ 16 MHz, Videomodus Truecolor: 5,38 It/s.
Man sieht sehr schön, wie sich CPU und Videl die Speicherbandbreite teilen müssen.
-
TF536 50Mhz MC68030 ...
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 2571
Total time (secs): 12.854999
Iterations/Sec : 23.337223
Iterations : 300
Compiler version : GCC8.2.1 20181017
Compiler flags : -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1
Memory location : Code and data in RAM
seedcrc : 0xe9f5
- crclist : 0xe714
[0]crcmatrix : 0x1fd7
- crcstate : 0x8e3a
[0]crcfinal : 0x5275
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 23.337223 / GCC8.2.1 20181017 -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1 / Code and data in RAM
-
Experimental
TT@60Mhz 27,359lt/s
-
ST mit SpeedUp16-Beschleuniger (68000 @ 16 MHz, ohne Cache): 2.20 It./s (Quelle (https://www.atari-forum.com/viewtopic.php?p=411128#p411128))
-
Wäre interessant mal zu sehen was mit einem Stickstoff gekühlten 68000er möglich ist. ;o)
-
Exxos hat da einen 68000 mit 64Mhz laufen (ohne Stickstoff) meine ich ...
-
Exxos hat da einen 68000 mit 64Mhz laufen (ohne Stickstoff) meine ich ...
Auch 64 MHz bringt halt nicht viel. In Post #67 in diesem Thread kannst Du den CoreMark-Messwert für einen von Exxos 32-MHz-68000er-Beschleunigern sehen: 2.58. Das bedeutet: der Takt wurde um +300% erhöht (8 MHz -> 32 MHz), die Geschwindigkeit des Rechners hat sich um magere +34% erhöht (1.92 -> 2.58). Der Schritt von 32 auf 64 MHz ist noch weniger beeindruckend.
-
Exxos hat da einen 68000 mit 64Mhz laufen (ohne Stickstoff) meine ich ...
Auch 64 MHz bringt halt nicht viel. In Post #67 in diesem Thread kannst Du den CoreMark-Messwert für einen von Exxos 32-MHz-68000er-Beschleunigern sehen: 2.58. Das bedeutet: der Takt wurde um +300% erhöht (8 MHz -> 32 MHz), die Geschwindigkeit des Rechners hat sich um magere +34% erhöht (1.92 -> 2.58). Der Schritt von 32 auf 64 MHz ist noch weniger beeindruckend.
Weil immer auf den lahmen Rest gewartet wird?
-
Weil immer auf den lahmen Rest gewartet wird?
Genau. Würde Exxos z.B. Cache in seine Beschleuniger einbauen, müsste man zwar beim Zugriff auf das System immer noch warten, aber es würde deutlich mehr bringen, als stumpf den Takt immer weiter hochzudrehen und die CPU bloß schneller "Däumchen drehen" zu lassen. Siehe das CoreMark-Messergebnis für den MegaSTE bei 16 MHz mit Cache: 3.62. Bedeutet: Obwohl die CPU nur mit 16 MHz läuft, ist der MegaSTE ca. 40% schneller als ein 32-MHz-Beschleuniger ohne Cache.
-
Allein Geschwindigkeit ist eben nicht alles.
-
Da ich das initiale Post schon lange nicht mehr editieren kann (aufgrund der Beschränkungen dieses Forums) und neue Ergebnisse somit drohen, im Thread unterzugehen, habe ich sie mal hier gesammelt: https://github.com/czietz/coremark/wiki/Results
-
Da ich das initiale Post schon lange nicht mehr editieren kann (aufgrund der Beschränkungen dieses Forums) und neue Ergebnisse somit drohen, im Thread unterzugehen, habe ich sie mal hier gesammelt: https://github.com/czietz/coremark/wiki/Results
Die Übersicht ich wirklich gut geworden, allerdings solltest du in diesem Thread auf jeder Seite einmal diesen Hinweis posten...
OT on: Wenn es nach mir ginge sollte diese Forum-Einschränkung wieder Rückgängig gemacht werden... oder man verbietet gleich das posten weil wir sind ja alle vermeintliche Betrüger und Lügner. Gründe zu Editieren gibt es ja... Fehlerkorrektur, veraltete oder geänderte Links anpassen, verlorene Bilder etc., wichtige Hinweise im Initialpost anzupassen. OT off
-
mal sehen was die storm mit 20mhz sagt ;)
020iger mit meiner Firmware, Storm mit 8Mhz Timing
4,4lt/s
-
OT on: Wenn es nach mir ginge sollte diese Forum-Einschränkung wieder Rückgängig gemacht werden... oder man verbietet gleich das posten weil wir sind ja alle vermeintliche Betrüger und Lügner. Gründe zu Editieren gibt es ja... Fehlerkorrektur, veraltete oder geänderte Links anpassen, verlorene Bilder etc., wichtige Hinweise im Initialpost anzupassen. OT off
OT auch von mir dazu: Genau so sehe ich das auch. Ich ärgere mich maßlos darüber, daß ich nach nur kurzer Zeit nicht mehr an meine Beiträge komme, um Korrekturen oder Updates einfügen zu können. >:(
-
@czietz ... PAK68/3-020 -68881 beide mit 32Mhz
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 3070
Total time (secs): 15.350000
Iterations/Sec : 13.029315
Iterations : 200
Compiler version : GCC8.2.1 20181017
Compiler flags : -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1
Memory location : Code and data in RAM
seedcrc : 0xe9f5
- crclist : 0xe714
[0]crcmatrix : 0x1fd7
- crcstate : 0x8e3a
[0]crcfinal : 0x382f
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 13.029315 / GCC8.2.1 20181017 -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1 / Code and data in RAM
-
@czietz ... PAK68/3-020 -68881 beide mit 32Mhz
Ergänzt auf GitHub - ebenso das LINPACK-Ergebnis. Vielen Dank!
-
Gleiche PAK68/3-020 aber mit 40Mhz
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 2449
Total time (secs): 12.244999
Iterations/Sec : 16.333196
Iterations : 200
Compiler version : GCC8.2.1 20181017
Compiler flags : -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1
Memory location : Code and data in RAM
seedcrc : 0xe9f5
- crclist : 0xe714
[0]crcmatrix : 0x1fd7
- crcstate : 0x8e3a
[0]crcfinal : 0x382f
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 16.333196 / GCC8.2.1 20181017 -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1 / Code and data in RAM
[/tt]
-
Coremark für 68000 (Stemulator Gold)
-
Hier das Ergebnis in der Mupfel ausgeführt und in eine Textdatei umgeleitet... ist etwas langsamer.
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 3114
Total time (secs): 15.569999
Iterations/Sec : 1284.521484
Iterations : 20000
Compiler version : GCC8.2.1 20181017
Compiler flags : -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1
Memory location : Code and data in RAM
seedcrc : 0xe9f5
- crclist : 0xe714
[0]crcmatrix : 0x1fd7
- crcstate : 0x8e3a
[0]crcfinal : 0x382f
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 1284.521484 / GCC8.2.1 20181017 -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1 / Code and data in RAM
-
TF520 mit meiner Firmware, 16Mhz CPU und 16Mhz Storm (TOS und Altram)
-
TF520 mit meiner Firmware, 16Mhz CPU und 16Mhz Storm (TOS und Altram)
Das ist allerdings mal beeindruckend! Läuft stabil?
-
TF520 mit meiner Firmware, 16Mhz CPU und 16Mhz Storm (TOS und Altram)
Das ist allerdings mal beeindruckend! Läuft stabil?
Ja, echt beeindruckend.
-
Ja läuft jetzt stabil, hatte noch paar timing Probleme aber jetzt 1a. Storm liegt bei 10mb/s
-
Hmm - jetzt war ich doch mal gespannt, wie sich mein spezielles Suska-Board mit einem
WF68K30 (mit 4K I- und D-Cache) bei 16MHz schlägt:
C:\SUSKA>COREMARK.TOS
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 3101
Total time (secs): 15.505000
Iterations/Sec : 7.094485
Iterations : 110
Compiler version : GCC8.2.1 20181017
Compiler flags : -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1
Memory location : Code and data in RAM
seedcrc : 0xe9f5
- crclist : 0xe714
[0]crcmatrix : 0x1fd7
- crcstate : 0x8e3a
[0]crcfinal : 0x0134
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 7.094485 / GCC8.2.1 20181017 -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1 / Code and data in RAM
C:\SUSKA>
-
Hmm - jetzt war ich doch mal gespannt, wie sich mein spezielles Suska-Board mit einem
WF68K30 (mit 4K I- und D-Cache) bei 16MHz schlägt:
Auf GitHub ergänzt, danke. Auch sehr respektabel. Vergleichbar mit einem "richtigen" 68030 @ 16 MHz mit Fast-RAM. (Der ganze zusätzliche Cache wirkt ja wie sehr schnelles RAM.) Beispielsweise kommt der TT @ 32 MHz auf ca. den doppelten Wert.
-
Hmm - jetzt war ich doch mal gespannt, wie sich mein spezielles Suska-Board mit einem
WF68K30 (mit 4K I- und D-Cache) bei 16MHz schlägt:
C:\SUSKA>COREMARK.TOS
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 3101
Total time (secs): 15.505000
Iterations/Sec : 7.094485
Iterations : 110
Compiler version : GCC8.2.1 20181017
Compiler flags : -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1
Memory location : Code and data in RAM
seedcrc : 0xe9f5
- crclist : 0xe714
[0]crcmatrix : 0x1fd7
- crcstate : 0x8e3a
[0]crcfinal : 0x0134
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 7.094485 / GCC8.2.1 20181017 -O2 -mcpu=68000 -fomit-frame-pointer -DPERFORMANCE_RUN=1 / Code and data in RAM
C:\SUSKA>
Was ist denn ein WF68K30?
-
Was ist denn ein WF68K30?
Ein "Wolfgang Förster" FPGA-basierter '030.
-
Was ist denn ein WF68K30?
Ein "Wolfgang Förster" FPGA-basierter '030.
Ok, danke.
-
TT mit verbessertem 48-MHz-Beschleuniger: 21,2 Iterations/s (+50% gegenüber einem Standard-TT mit 13,92 It/s.). Storm mit EDO-RAM, Coremark läuft im TT-RAM.
Mit der Serien-Version des Speedy-Beschleunigers (immer noch 48 MHz): 23,12 Iterationen/s, nochmal ein paar Prozentpunkte schneller.
-
Wo gibt/gab? es denn den TT Speedy?
-
Wo gibt/gab? es denn den TT Speedy?
U.a. in meinem TT ;). Nein ernsthaft, der Verkauf hat noch nicht begonnen.
-
Dachte ich's mir ;)
-
Hypercache-Beschleuniger (16 MHz 68000er) mit aktivem Cache: 3.64 It./s; mit abgeschaltetem Cache: 2.12 It./s.
Bringt einen ST/MegaST also ziemlich genau auf die Geschwindigkeit eines MegaSTEs. Man erkennt auch, dass Cache nötig ist, denn die Hypercache schlägt einen ST mit 32-MHz-Beschleuniger ohne Cache deutlich.
-
Bringt einen ST/MegaST also ziemlich genau auf die Geschwindigkeit eines MegaSTEs. Man erkennt auch, dass Cache nötig ist, denn die Hypercache schlägt einen ST mit 32-MHz-Beschleuniger ohne Cache deutlich.
… oder lokales RAM wie im Storm, das aber mit CPU-Geschwindigkeit läuft :-)
-
… oder lokales RAM wie im Storm, das aber mit CPU-Geschwindigkeit läuft :-)
@tuxie hatte mal einen 16-MHz-Beschleuniger so designt/umgebaut, dass er auf die Storm ST mit voller Geschwindigkeit zugreift. Das geht natürlich auch.
-
Ist zwar nicht CoreMark aber das ganze so dann so aus
Storm + Tos ohne warten bei 16mhz
-
Ist zwar nicht CoreMark aber das ganze so dann so aus
Storm + Tos ohne warten bei 16mhz
Kann man das bei seinem Storm ST nachbauen?
-
Hatte ich dir das Listing des GALs nicht sogar zugesendet ?
-
Hatte ich dir das Listing des GALs nicht sogar zugesendet ?
Es ging mir wirklich mehr ums „man“, nicht um mich :) Vulgo, könnte das nicht öffentlich werden?
Bei mir ist ein größerer Umzug dazwischengekommen, alles in Kisten.
-
Außer Konkurrenz, weil ARMv6-M- und nicht 68k-Architektur:
RP2040 (1-€-CPU, die z.B. im Raspberry Pi Pico zum Einsatz kommt): 243,8 It./s bei 125 MHz.
Selbst umskaliert auf 8 MHz wäre dieser kleine µC also ca. 8-mal schneller als ein ST :D.
(PS: https://github.com/czietz/coremark/tree/rpi_pico/rpi_pico)
-
Auch außer Konkurrenz, weil Tensilica-Xtensa-LX-Architektur und nicht m68k: ESP8266EX: 192 It./s bei 80 MHz.
Damit stellt jener Controller, der in meinem Netzwerkzeit-über-WLAN-Projekt (https://www.chzsoft.de/site/hardware/diverse-kleinigkeiten-fur-den-atari-st/#netzwerkzeit-uber-wlan-mit-esp8266) eine schnöde Echtzeituhr spielt, bezüglich Rechenleistung den ST, an dem er angeschlossen ist, ziemlich genau um Faktor 100 in den Schatten. (Dafür hat der ST z.B. weit mehr RAM.)
-
ATARIX auf einem MacBook mit Intel Core 2 Duo /2,26 GHz ...
-
Hier mal die Werte von einem MSTE mit HBS 640 alle eingeschalten 1 x mit 25 MHz und 1 x mit 32 MHz
-
Danke. Ist eingetragen.
-
Der Einfluss der Compiler-Version ist doch erheblich (gcc13, compiliert für Coldfire): FireBee
root@firebee:~# ./coremark.tos
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 3835
Total time (secs): 19.175000
Iterations/Sec : 573.663625
Iterations : 11000
Compiler version : GCC13.2.0
Compiler flags : -O2 -mcpu=547x -fomit-frame-pointer -DPERFORMANCE_RUN=1
Memory location : Code and data in RAM
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0x33ff
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 573.663625 / GCC13.2.0 -O2 -mcpu=547x -fomit-frame-pointer -DPERFORMANCE_RUN=1 / Code and data in RAM
-
gcc13, compiliert für ColdFire, m5484lite board (100MHz):
root@m5484lite:~#./coremark.tos
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 2736
Total time (secs): 13.680000
Iterations/Sec : 80.409357
Iterations : 1100
Compiler version : GCC13.2.0
Compiler flags : -O2 -mcpu=547x -fomit-frame-pointer -DPERFORMANCE_RUN=1
Memory location : Code and data in RAM
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0x33ff
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 80.409357 / GCC13.2.0 -O2 -mcpu=547x -fomit-frame-pointer -DPERFORMANCE_RUN=1 / Code and data in RAM
-
Der Einfluss der Compiler-Version ist doch erheblich (gcc12, compiliert für Coldfire): FireBee
Natürlich. In https://www.atari-forum.com/viewtopic.php?t=42161 war auch ein Faktor 2,5 zwischen verschiedenen Compilern. Deswegen akzeptiere ich eigentlich nur Resultate des Binaries von meiner GitHub-Seite.
-
Natürlich. In https://www.atari-forum.com/viewtopic.php?t=42161 war auch ein Faktor 2,5 zwischen verschiedenen Compilern. Deswegen akzeptiere ich eigentlich nur Resultate des Binaries von meiner GitHub-Seite.
Ich denke, dieselbe gcc-Version zu vergleichen (4.6.4) liegt nicht so sehr daneben - finden doch die meisten gcc-Optimierungen sowieso in GIMPLE und RTL statt und sind damit wohl weitgehend unabhängig vom verwendeten m68k-Dialekt.
Dass gcc13 aber noch mal so erklecklich zulegt (> 20%), hätte ich nicht erwartet.
-
Möglicherweise sind jetzt einfach aber paar Optimierungen aktiviert, die vorher nur bei -O3 aktiv waren, oder bis dato nicht stabil waren.
-
Hallo,
hier der Coremark für einen Falcon mit DFB1x unter Mint und Videlity im 32 MHz Modus bei 832x624 und 16 Farben: 21,112
Viele Grüße
Michael
-
hier der Coremark für einen Falcon mit DFB1x unter Mint und Videlity im 32 MHz Modus bei 832x624 und 16 Farben: 21,112
Danke! Mich würde auch das Ergebnis unter Plain-TOS interessieren.
-
Hallo noch einmal,
Hier etwas ausführlichere Werte für den Falcon mit DFB1x. Es handelt sich um meinen 1992 gekauften Rechner, 4 MB RAM, mit IDE- Festplatte. Das Board wurde 1993 bei DDD in Hannover getauscht und der 32 MHz „Speeder“ eingebaut.
Aufgerüstet mittlerweile auf 14 MB RAM und und zwei 8GB Compact Flash Karten, TOS 4.04 aufgerüstet.
Kaltstart mit TOS 4.04, keine Autoordnerprogramme, keine ACCs:
Coremark: 3.773584
Kaltstart mit TOS 4.04, keine Autoordnerprogramme, keine ACCs EmuTOS 1.3 als PRG gestartet.
Coremark: 10.147133
Kaltstart mit TOS 4.04, keine Autoordnerprogramme, keine ACCs EmuTOS 1.2.1 als PRG gestartet.
Coremark: 9.990917
Kaltstart mit TOS 4.04, MAPROM, keine ACCs
Coremark: 13.527223
Kaltstart mit TOS 4.04, MAPROM, keine ACCs EmuTOS 1.2.1 als PRG gestartet.
Coremark: 22.246940
Viele Grüße
Michael