So, Mal einen Apple M1 mit einem Macbook Air 10,1 in die Finger bekommen und gleich auf's neueste macOS und die neuesten Tools upgraded. Ich hätte mir echt nicht gedacht, daß der Bench mit so deutlich weiterentwickelter und andersartiger Unterlage so (relativ) problemlos runterbaut und rennt. Lediglich eine Zeile im Launcherskript funktioniert leider nicht mehr, weil das Auslesen der Taktfrequenz des Prozessors nicht mehr klappt, s.u. Und natürlich muß man einen Haufen Tools mit Homebrew nachinstallieren und Apple XCode drauf haben, aber das war eh schon immer so auf macOS.
Das war Mal wieder ein guter Test um die Robustheit der Tools auf die Probe zu stellen. Ein modernes OpenBSD 7.3 läuft auch grade aus zum Teil diesem Grund.
Dafür daß der Bench ohne jedwede Assembleroptimierungen auf'm M1 gelaufen ist war der kleine Chip echt nicht so lahm muß man sagen! Bissl geswapped hat er halt, aber okay, war zu erwarten bei zu knappem RAM. Spannend wär noch ein modernes x265, das auch ARM NEON nutzen könnte. Mal schauen ob ich mir das antue.
Ergebnis:
13:46:48.043 | GAT | 1/8/8 | Apple M1 (4PC@3.2GHz + 4EC@2.06GHz ARMv8) @ 3.2GHz | 8 GiB LPDDR4X/4266 | Apple Macbook Air 10,1 | Apple M1 | macOS 13.3.1 (clang 14.0.3)
Nicht wirklich nötig, aber hier is noch'n Screenshot:
Screenie (Klicken zum Vergrößern)
Apple gibt leider keinerlei Referenztaktfrequenzen, sondern nur Maximaltakte an. Daher stehen die hier drin.
Zum veränderten Code: Entfernt bzw. auskommentiert werden mußte die Zeile 1168:
cpuMHz="$(($(system_profiler SPHardwareDataType | ${grepPrg} -i -e 'processor speed' | cut -d':' -f2 | cut -d' ' -f2 | tr -d '[:punct:]') * 10))"
Der Apple system_profiler gibt für die CPU keinerlei Taktfrequenzen mehr aus, womit die Binärarithmetik plötzlich unär wird, was zu einem Syntaxfehler und damit zu einem Absturz führt. Das Auslesen der Taktfrequenzen funktioniert jetzt auf'm Terminal mittels Apple powermetrics, und das braucht leider Superuser Rechte. Hier ein Beispiel wie das gehen kann, jeweils für den Power Core Cluster und den Efficiency Core Cluster der ARM big.LITTLE Architektur von Apple:
% sudo powermetrics -s cpu_power -n1 | grep -A12 'E-Cluster instructions per clock' | grep -e 'Cluster' -e 'frequency'
E-Cluster instructions per clock: 0.948569
CPU 0 frequency: 972 MHz
CPU 1 frequency: 972 MHz
CPU 2 frequency: 972 MHz
CPU 3 frequency: 972 MHz
% sudo powermetrics -s cpu_power -n1 | grep -A12 'P-Cluster instructions per clock' | grep -e 'Cluster' -e 'frequency'
P-Cluster instructions per clock: 3.51011
CPU 4 frequency: 2643 MHz
CPU 5 frequency: 3192 MHz
CPU 6 frequency: 600 MHz
CPU 7 frequency: 600 MHz
Display More
Da wird es wirklich Mal wieder ein Update brauchen. Da das Auslesen von Taktraten ohne Superuser sowieso nicht mehr zu gehen scheint, wird das für macOS auf ARM einfach entfernt werden müssen. Außer irgendein macOS User hier kann mir zwitschern, wie es auch mit gewöhnlichen Nutzerrechten geht.