Autor Thema: Coremark für 68000  (Gelesen 127027 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline czietz

  • Benutzer
  • Beiträge: 3.699
Re: Coremark für 68000
« Antwort #20 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.

Offline mfro

  • Benutzer
  • Beiträge: 1.640
Re: Coremark für 68000
« Antwort #21 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
And remember: Beethoven wrote his first symphony in C

Offline mfro

  • Benutzer
  • Beiträge: 1.640
Re: Coremark für 68000
« Antwort #22 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.
« Letzte Änderung: Sa 23.02.2019, 10:37:05 von mfro »
And remember: Beethoven wrote his first symphony in C

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: Coremark für 68000
« Antwort #23 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?
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline czietz

  • Benutzer
  • Beiträge: 3.699
Re: Coremark für 68000
« Antwort #24 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.
« Letzte Änderung: Sa 23.02.2019, 14:10:03 von czietz »

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.316
Re: Coremark für 68000
« Antwort #25 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.

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.485
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: Coremark für 68000
« Antwort #26 am: Sa 23.02.2019, 19:45:26 »
Atari Mega ST4 / PAK68/3-50Mhz 030 / FRAK/2 64MB Fastram

Iterations/Sec : 22.463497

Offline KarlMüller

  • Benutzer
  • Beiträge: 422
Re: Coremark für 68000
« Antwort #27 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?

Offline czietz

  • Benutzer
  • Beiträge: 3.699
Re: Coremark für 68000
« Antwort #28 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.

Offline tuxie

  • Benutzer
  • Beiträge: 6.837
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: Coremark für 68000
« Antwort #29 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 ?
Tschau Ingo

Offline czietz

  • Benutzer
  • Beiträge: 3.699
Re: Coremark für 68000
« Antwort #30 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.

Offline czietz

  • Benutzer
  • Beiträge: 3.699
Re: Coremark für 68000
« Antwort #31 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.

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Coremark für 68000
« Antwort #32 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.)
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline mfro

  • Benutzer
  • Beiträge: 1.640
Re: Coremark für 68000
« Antwort #33 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.
And remember: Beethoven wrote his first symphony in C

Offline czietz

  • Benutzer
  • Beiträge: 3.699
Re: Coremark für 68000
« Antwort #34 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.
« Letzte Änderung: So 24.02.2019, 11:25:59 von czietz »

Offline mfro

  • Benutzer
  • Beiträge: 1.640
Re: Coremark für 68000
« Antwort #35 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 ;)
And remember: Beethoven wrote his first symphony in C

Offline Arthur

  • Benutzer
  • Beiträge: 10.311
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Coremark für 68000
« Antwort #36 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.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.316
Re: Coremark für 68000
« Antwort #37 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.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.316
Re: Coremark für 68000
« Antwort #38 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.

Online Ektus

  • Benutzer
  • Beiträge: 919
Re: Coremark für 68000
« Antwort #39 am: So 24.02.2019, 16:19:23 »
Auf dem CT2A Falcon "ohne alles": Total time: 13.579999s, Iterations/Sec: 22,091310