atari-home.de - Foren

Software => Software (16-/32-Bit) => Thema gestartet von: czietz am Do 21.02.2019, 20:37:20

Titel: Coremark für 68000
Beitrag 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:

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.

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)
Titel: Re: Coremark für 68000
Beitrag von: Gaga am Do 21.02.2019, 21:13:06
Vielen Dank. Wird gleich mal zum SAM getestet.
Titel: Re: Coremark für 68000
Beitrag von: Arthur am Do 21.02.2019, 21:44:26
Danke Christian, auf Firebee läufts auch? Dann würden mich echt mal die Werte der Firebee und dem Falcon mit CT60 interessieren.
Titel: Re: Coremark für 68000
Beitrag von: 1ST1 am Do 21.02.2019, 22:05:18
Und Vampire. Falcon ct60e bei 95 Mhz kann ich mal testen, aber nicht mehr heute. Ich muss erst die NVRAM-Batterie wechseln.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Do 21.02.2019, 22:11:44
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.
Titel: Re: Coremark für 68000
Beitrag von: Arthur am Do 21.02.2019, 22:45:38
Schade, hätte mich echt mal interessiert.
Titel: Re: Coremark für 68000
Beitrag von: ama am Do 21.02.2019, 22:51:32
Nur so für Spaß


Titel: Re: Coremark für 68000
Beitrag von: ari.tao am Fr 22.02.2019, 00:03:06
   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)
Titel: Re: Coremark für 68000
Beitrag von: Thorsten Otto am Fr 22.02.2019, 03:15:55
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
Titel: Re: Coremark für 68000
Beitrag von: ari.tao am Fr 22.02.2019, 05:10:47
Boah, muß unbedingt Aranym installieren....
Kein Wert für Hatari?
Titel: Re: Coremark für 68000
Beitrag von: Thorsten Otto am Fr 22.02.2019, 05:49:29
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.

Titel: Re: Coremark für 68000
Beitrag von: ari.tao am Fr 22.02.2019, 06:28:36
Danke.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Fr 22.02.2019, 07:37:26
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.
Titel: Re: Coremark für 68000
Beitrag von: TheNameOfTheGame am Fr 22.02.2019, 15:47:28
...
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?
Titel: Re: Coremark für 68000
Beitrag von: Thorsten Otto am Fr 22.02.2019, 17:10:22
Nein, einfach nur unter linux ausgeführt. Müsste auf BeeKey aber ca. das gleiche Ergebnis bringen.
Titel: Re: Coremark für 68000
Beitrag von: tuxie am Fr 22.02.2019, 18:47:41
TT @54mhz 21.725 Iterations/Sec
Titel: Re: Coremark für 68000
Beitrag von: Ektus am Sa 23.02.2019, 08:34:01
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
Titel: Re: Coremark für 68000
Beitrag von: mfro am Sa 23.02.2019, 09:42:42
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
Titel: Re: Coremark für 68000
Beitrag von: mfro am Sa 23.02.2019, 09:54:04
... 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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Sa 23.02.2019, 09:56:31
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?
Titel: Re: Coremark für 68000
Beitrag von: czietz am Sa 23.02.2019, 10:01:42
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.
Titel: Re: Coremark für 68000
Beitrag von: mfro am Sa 23.02.2019, 10:06:55
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
Titel: Re: Coremark für 68000
Beitrag von: mfro am Sa 23.02.2019, 10:08:51
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.
Titel: Re: Coremark für 68000
Beitrag von: ari.tao am Sa 23.02.2019, 10:16:13
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?
Titel: Re: Coremark für 68000
Beitrag von: czietz am Sa 23.02.2019, 11:39:58
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.
Titel: Re: Coremark für 68000
Beitrag von: Thorsten Otto am Sa 23.02.2019, 16:02:05
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.
Titel: Re: Coremark für 68000
Beitrag von: Lukas Frank am Sa 23.02.2019, 19:45:26
Atari Mega ST4 / PAK68/3-50Mhz 030 / FRAK/2 64MB Fastram

Iterations/Sec : 22.463497
Titel: Re: Coremark für 68000
Beitrag von: KarlMüller am So 24.02.2019, 09:59:03
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?
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 24.02.2019, 10:07:19
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.
Titel: Re: Coremark für 68000
Beitrag von: tuxie am So 24.02.2019, 10:21:23
@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 ?
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 24.02.2019, 10:33:39
@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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 24.02.2019, 10:36:51
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.
Titel: Re: Coremark für 68000
Beitrag von: 1ST1 am So 24.02.2019, 10:42:33
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.)
Titel: Re: Coremark für 68000
Beitrag von: mfro am So 24.02.2019, 11:13:03
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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 24.02.2019, 11:22:57
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.
Titel: Re: Coremark für 68000
Beitrag von: mfro am So 24.02.2019, 11:28:03
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 ;)
Titel: Re: Coremark für 68000
Beitrag von: Arthur am So 24.02.2019, 12:37:17
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.
Titel: Re: Coremark für 68000
Beitrag von: Thorsten Otto am So 24.02.2019, 15:30:14
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.
Titel: Re: Coremark für 68000
Beitrag von: Thorsten Otto am So 24.02.2019, 15:33:39
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.
Titel: Re: Coremark für 68000
Beitrag von: Ektus am So 24.02.2019, 16:19:23
Auf dem CT2A Falcon "ohne alles": Total time: 13.579999s, Iterations/Sec: 22,091310
Titel: Re: Coremark für 68000
Beitrag von: Ektus am So 24.02.2019, 20:25:51
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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 24.02.2019, 21:24:18
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.
Titel: Re: Coremark für 68000
Beitrag von: 1ST1 am So 24.02.2019, 23:08:14
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.
Titel: Re: Coremark für 68000
Beitrag von: ari.tao am So 24.02.2019, 23:40:34
^^-- Ja, mach mal.
Titel: Re: Coremark für 68000
Beitrag von: Ektus am Mo 25.02.2019, 04:54:14
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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Fr 01.03.2019, 18:28:52
Gemulator mit EmuTOS auf aktuellem Windows-PC: 861 Iterations/Sekunde.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Fr 01.03.2019, 19:09:17
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.
Titel: Re: Coremark für 68000
Beitrag von: Nervengift am Fr 01.03.2019, 21:17:18
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?
Titel: Re: Coremark für 68000
Beitrag von: Ektus am Sa 02.03.2019, 06:21:21
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.

Titel: Re: Coremark für 68000
Beitrag von: czietz am Sa 02.03.2019, 12:45:28
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.
Titel: Re: Coremark für 68000
Beitrag von: ama am Sa 02.03.2019, 17:31:55
Standard Falcon030
:-\
Titel: Re: Coremark für 68000
Beitrag von: czietz am Fr 14.06.2019, 20:13:42
ST mit 68020-Beschleuiniger @ 32 MHz: 4,80 Iterations/s
Titel: Re: Coremark für 68000
Beitrag von: Atariosimus am So 16.06.2019, 10:10:42
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)
Titel: Re: Coremark für 68000
Beitrag von: Lukas Frank am Mo 17.06.2019, 15:55:08
ST mit 68020/16Mhz (PAK68/2): 4,016064 Iterations/Sec
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 01.09.2019, 10:17:15
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.
Titel: Re: Coremark für 68000
Beitrag von: mfro am So 01.09.2019, 10:51:19
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?
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 01.09.2019, 10:57:41
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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 01.09.2019, 11:17:27
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.
Titel: Re: Coremark für 68000
Beitrag von: mfro am So 01.09.2019, 13:18:41
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?
Titel: Re: Coremark für 68000
Beitrag von: 1ST1 am So 01.09.2019, 14:12:53
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.
Titel: Re: Coremark für 68000
Beitrag von: mfro am So 01.09.2019, 14:27:21
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
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 01.09.2019, 14:33:36
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.)
Titel: Re: Coremark für 68000
Beitrag von: 1ST1 am So 01.09.2019, 15:23:01
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?
Titel: Re: Coremark für 68000
Beitrag von: Thorsten Otto am So 01.09.2019, 17:12:22
"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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Mo 04.11.2019, 11:51:56
ST mit Alt-RAM und 68010-CPU: 2,07 Iterations/s.
ST mit 68010-CPU (ohne Alt-RAM): 1,97 Iterations/s.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Di 28.04.2020, 16:18:17
ST mit PAK/2 68020 @ 25 MHz: 4,03 Iterations/s.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Fr 29.05.2020, 18:28:59
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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Mi 17.06.2020, 22:50:03
STE mit 32-MHz-Beschleuniger (68000 CPU): 2.575 Iterations/s (Quelle: Facebook-Post).
Titel: Re: Coremark für 68000
Beitrag von: czietz am Sa 21.11.2020, 20:34:11
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.

Titel: Re: Coremark für 68000
Beitrag von: Thorsten Otto am So 22.11.2020, 08:51:24
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 ;)
Titel: Re: Coremark für 68000
Beitrag von: mfro am So 22.11.2020, 09:19:12
... 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
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 22.11.2020, 10:17:19
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.
Titel: Re: Coremark für 68000
Beitrag von: gh-baden am So 22.11.2020, 21:04:48
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 …
Titel: Re: Coremark für 68000
Beitrag von: czietz am Mi 09.12.2020, 20:04:29
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.
Titel: Re: Coremark für 68000
Beitrag von: Arthur am Mi 09.12.2020, 20:26:13
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% ?
Titel: Re: Coremark für 68000
Beitrag von: czietz am Mi 09.12.2020, 21:08:27
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.
Titel: Re: Coremark für 68000
Beitrag von: Arthur am Mi 09.12.2020, 22:26:14
Entspricht ziemlich genau der Taktdifferenz, oder?
Titel: Re: Coremark für 68000
Beitrag von: czietz am Mi 09.12.2020, 22:46:52
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.
Titel: Re: Coremark für 68000
Beitrag von: Arthur am Mi 09.12.2020, 23:02:00
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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 13.12.2020, 11:59:33
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.
Titel: Re: Coremark für 68000
Beitrag von: Lukas Frank am So 13.12.2020, 13:07:29
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
Titel: Re: Coremark für 68000
Beitrag von: tuxie am So 13.12.2020, 19:55:04
Experimental

TT@60Mhz 27,359lt/s
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 24.01.2021, 11:07:16
ST mit SpeedUp16-Beschleuniger (68000 @ 16 MHz, ohne Cache): 2.20 It./s (Quelle (https://www.atari-forum.com/viewtopic.php?p=411128#p411128))
Titel: Re: Coremark für 68000
Beitrag von: Arthur am So 24.01.2021, 14:50:06
Wäre interessant mal zu sehen was mit einem Stickstoff gekühlten 68000er möglich ist. ;o)
Titel: Re: Coremark für 68000
Beitrag von: Lukas Frank am So 24.01.2021, 14:59:45
Exxos hat da einen 68000 mit 64Mhz laufen (ohne Stickstoff) meine ich ...
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 24.01.2021, 15:04:40
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.

Titel: Re: Coremark für 68000
Beitrag von: Arthur am So 24.01.2021, 15:19:49
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?
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 24.01.2021, 15:27:47
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.
Titel: Re: Coremark für 68000
Beitrag von: Gaga am So 24.01.2021, 17:39:00
Allein Geschwindigkeit ist eben nicht alles.
Titel: Re: Coremark für 68000
Beitrag von: czietz am So 24.01.2021, 18:05:33
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
Titel: Re: Coremark für 68000
Beitrag von: Arthur am So 24.01.2021, 20:28:06
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
Titel: Re: Coremark für 68000
Beitrag von: tuxie am So 24.01.2021, 21:08:01
mal sehen was die storm mit 20mhz sagt ;)

020iger mit meiner Firmware, Storm mit 8Mhz Timing

4,4lt/s
Titel: Re: Coremark für 68000
Beitrag von: dbsys am Mo 25.01.2021, 15:26:11

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.  >:(
Titel: Re: Coremark für 68000
Beitrag von: Lukas Frank am Do 18.02.2021, 14:52:48
@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
Titel: Re: Coremark für 68000
Beitrag von: czietz am Do 18.02.2021, 18:46:33
@czietz ... PAK68/3-020 -68881 beide mit 32Mhz

Ergänzt auf GitHub - ebenso das LINPACK-Ergebnis. Vielen Dank!
Titel: Re: Coremark für 68000
Beitrag von: Lukas Frank am Fr 19.02.2021, 21:08:32
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]
Titel: Re: Coremark für 68000 (Stemulator Gold)
Beitrag von: Arthur am Fr 19.02.2021, 21:57:35
Coremark für 68000 (Stemulator Gold)
Titel: Re: Coremark für 68000 (Stemulator Gold)
Beitrag von: Arthur am Fr 19.02.2021, 22:12:56
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
Titel: Re: Coremark für 68000
Beitrag von: tuxie am Di 23.02.2021, 18:14:31
TF520 mit meiner Firmware, 16Mhz CPU und 16Mhz Storm (TOS und Altram)
Titel: Re: Coremark für 68000
Beitrag von: czietz am Di 23.02.2021, 18:30:58
TF520 mit meiner Firmware, 16Mhz CPU und 16Mhz Storm (TOS und Altram)

Das ist allerdings mal beeindruckend! Läuft stabil?
Titel: Re: Coremark für 68000
Beitrag von: Arthur am Di 23.02.2021, 18:54:39
TF520 mit meiner Firmware, 16Mhz CPU und 16Mhz Storm (TOS und Altram)

Das ist allerdings mal beeindruckend! Läuft stabil?

Ja, echt beeindruckend.
Titel: Re: Coremark für 68000
Beitrag von: tuxie am Di 23.02.2021, 20:44:43
Ja läuft jetzt stabil, hatte noch paar timing Probleme aber jetzt 1a. Storm liegt bei 10mb/s
Titel: Re: Coremark für 68000
Beitrag von: udo am Mi 24.02.2021, 11:12:19
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
Titel: Re: Coremark für 68000
Beitrag von: czietz am Mi 24.02.2021, 11:28:28
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.
Titel: Re: Coremark für 68000
Beitrag von: Arthur am Mi 24.02.2021, 20:54:01
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?
Titel: Re: Coremark für 68000
Beitrag von: mfro am Mi 24.02.2021, 21:02:43
Was ist denn ein WF68K30?

Ein "Wolfgang Förster" FPGA-basierter '030.
Titel: Re: Coremark für 68000
Beitrag von: Arthur am Mi 24.02.2021, 22:38:39
Was ist denn ein WF68K30?

Ein "Wolfgang Förster" FPGA-basierter '030.

Ok, danke.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Mi 19.05.2021, 20:22:05
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.
Titel: Re: Coremark für 68000
Beitrag von: joejoe am Do 20.05.2021, 17:10:06
Wo gibt/gab? es denn den TT Speedy?
Titel: Re: Coremark für 68000
Beitrag von: czietz am Do 20.05.2021, 18:15:43
Wo gibt/gab? es denn den TT Speedy?

U.a. in meinem TT  ;). Nein ernsthaft, der Verkauf hat noch nicht begonnen.
Titel: Re: Coremark für 68000
Beitrag von: joejoe am Do 20.05.2021, 18:57:41
Dachte ich's mir  ;)
Titel: Re: Coremark für 68000
Beitrag von: czietz am Sa 21.08.2021, 20:16:25
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.
Titel: Re: Coremark für 68000
Beitrag von: gh-baden am Sa 21.08.2021, 21:35:26
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 :-)
Titel: Re: Coremark für 68000
Beitrag von: czietz am Sa 21.08.2021, 22:26:08
… 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.
Titel: Re: Coremark für 68000
Beitrag von: tuxie am Mo 23.08.2021, 11:37:34
Ist zwar nicht CoreMark aber das ganze so dann so aus
Storm + Tos ohne warten bei 16mhz

Titel: Re: Coremark für 68000
Beitrag von: gh-baden am Di 24.08.2021, 00:48:06
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?
Titel: Re: Coremark für 68000
Beitrag von: tuxie am Di 24.08.2021, 10:57:25
Hatte ich dir das Listing des GALs nicht sogar zugesendet ?
Titel: Re: Coremark für 68000
Beitrag von: gh-baden am Mi 25.08.2021, 00:24:10
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.
Titel: Re: Coremark für 68000
Beitrag von: czietz am Sa 09.04.2022, 15:04:57
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)
Titel: Re: Coremark für 68000
Beitrag von: czietz am Sa 23.04.2022, 12:25:41
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.)
Titel: Re: Coremark für 68000
Beitrag von: Lukas Frank am Mo 06.06.2022, 09:30:04
ATARIX auf einem MacBook mit Intel Core 2 Duo /2,26 GHz ...

Titel: Re: Coremark für 68000
Beitrag von: Highspeed am Mo 15.08.2022, 07:27:27
Hier mal die Werte von einem MSTE mit HBS 640 alle eingeschalten 1 x mit 25 MHz und 1 x mit 32 MHz
Titel: Re: Coremark für 68000
Beitrag von: czietz am Mo 15.08.2022, 07:39:40
Danke. Ist eingetragen.
Titel: Re: Coremark für 68000
Beitrag von: mfro am Do 04.04.2024, 16:41:13
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
Titel: Re: Coremark für 68000
Beitrag von: mfro am Do 04.04.2024, 16:42:21
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
Titel: Re: Coremark für 68000
Beitrag von: czietz am Do 04.04.2024, 17:47:02
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.
Titel: Re: Coremark für 68000
Beitrag von: mfro am Do 04.04.2024, 18:24:57
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.
Titel: Re: Coremark für 68000
Beitrag von: Thorsten Otto am Fr 05.04.2024, 06:22:17
Möglicherweise sind jetzt einfach aber paar Optimierungen aktiviert, die vorher nur bei -O3 aktiv waren, oder bis dato nicht stabil waren.