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
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).