x264 Benchmark (kein Schnelldurchgang! 32-Bit multicore und ≥1GB RAM)

  • Genau, es muß also absolut ein Core 2 Quad mit 2.4GHz sein. HT gibts ja nur bei Netburst und ab Nehalem. Und nachdems keinen offiziellen Prozessor mit genau diesen Specs gibt (QX9200 existiert nur als ES), muß es auch wirklich genau das sein.

    Danke jedenfalls Mal für die Klärung! Da haben wir wieder Mal einen ziemlichen Exoten erwischt! :tongue: :D

    CPU-Z Fehldetektionen sind halt möglich, besonders bei selteneren Chips.. :)

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Ich werde den Vorbesitzer mal Fragen um was für einen Prozzesor es sich genau handelt, jetzt brennts mir auch in den Fingern :D . Für 2 Kerne mit Hyper Threading ist der auch zu schnell würde ich sagen :wacko: , aber ich kenne mich bei Intel sowieso nicht so aus das ist Neuland für mich!

    3dfx für die Ewigkeit...und noch viel viel weiter :topmodel:

    Suche....

  • Das is ziemlich sicher ein QX9200 ES, wie von S2 Sedan gemutmaßt, das passt zum CPU String und zum Takt, sowie zur Kernanzahl und Leistung. Mit Hyper Threading hat CryptonNite 100% Recht, sowas gibts beim Core 2 nicht.

    Habe ihn daher jetzt Mal so eingetragen. :)

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Und da isser ned alleine. Grad meinen C2D SU9600 mit der neuesten CPU-Z Version probiert. Mann Mann Mann, Frankie, was is nur los mit deinem CPU-Z, das ging schon Mal besser, diese CPU hier is ein Serienmodell!!

    [Blockierte Grafik: http://www.xin.at/thrawn/pics/hw/sony-vaio-tt45x/cpuz-su9600.png]

    Misdetection, und das bei so einem normalen Teil.... :mauer:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Weiß einer was die Fehlermeldung "x264 [error]: malloc of size 1142784 failed" zu bedeuten hat? Zu wenig freier RAM?


    Sowas habe ich zuletzt bei einem x264 Build auf ARM gesehen, und zwar bei einem Raspberry Pi. Leider ist es nicht ganz klar geworden, was daran Schuld getragen hat (zuwenig Swap?! kA), weil die selbe Softwareversion auf anderen Systemen gebaut und funktioniert hat. Wäre eventuell hilfreich, wenn du Angaben zum Hostsystem machen könntest, auf dem getestet werden sollte.

    malloc() sollte ja nur Speicher allozieren in C, soweit ich weiß..


    Edit: Das Resultat hatten wir schon, aber dieses Mal Debian 6 mit selbstgebautem Kernel statt Fedora 14 als Host OS für die VM, viel is da auch ned um, is der Homeserver von einem Kollegen der eh grad im Urlaub ist, da kann ich mich austoben bei ihm: ;)

    01:58:04.343 | 74.131x | Cosmonate | 2/4/4 | Intel Xeon E5620 2.40GHz | 24GB Reg. ECC DDR-III/1066 | Tyan S7012 | Windows XP Pro x64 on QEMU-KVM/Debian 6.0

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    5 Mal editiert, zuletzt von GrandAdmiralThrawn (12. September 2012 um 11:42)

  • Leider ist der Download des Quellfiles vor Ende abgebrochen, und ein paar der Binaries sind nicht lauffähig (timethis.exe aber schon!), aber trotzdem, echt unpackbar, daß das prinzipiell zu laufen scheint, obwohl das meiste an Code die Maschine einfriert oder crashed oder was auch immer...

    Das ist ReactOS 0.3.14 über VMware Player 4.0.1 auf CentOS 6.3 Linux (Sogar SSE..):

    [Blockierte Grafik: http://www.xin.at/thrawn/pics/screenshots/reactos/x264.png]

    (Achtung: Kein Multithreading!)

    Edit: Endlich geschafft. Bei Netzwerktraffic ist das System massiv instabil, häufig BSODs, vor allem in VirtualBox. Aber versuchen wir's Mal mit CPU Last: ;)

    ReactOS 0.3.14 über VMware Player 5.0.0 auf Windows XP Professional x64 Edition, x264 Benchmark Referenzversion:

    [Blockierte Grafik: http://www.xin.at/thrawn/pics/screenshots/reactos/x264-2.png]

    Edit 2: Leider ist ReactOS derart extrem instabil, daß es nicht Mal idle eine Stunde ohne BSOD durchrennt. :( Schaut nicht so aus, als ob das zu einem Resultat würde führen können.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    5 Mal editiert, zuletzt von GrandAdmiralThrawn (15. September 2012 um 22:01)

  • Weiß einer was die Fehlermeldung "x264 [error]: malloc of size 1142784 failed" zu bedeuten hat? Zu wenig freier RAM?


    Sowas habe ich zuletzt bei einem x264 Build auf ARM gesehen, und zwar bei einem Raspberry Pi. Leider ist es nicht ganz klar geworden, was daran Schuld getragen hat (zuwenig Swap?! kA), weil die selbe Softwareversion auf anderen Systemen gebaut und funktioniert hat. Wäre eventuell hilfreich, wenn du Angaben zum Hostsystem machen könntest, auf dem getestet werden sollte.

    Hostsystem war ein Raspberry Pi. :D

  • Wieviel RAM+Swap hattest du denn da?

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • So, also bei mir rechnet gerade mit 1,3Ghz der wahrscheinlich langsamste P4 aller Zeiten. Es ist eine Maschine von Bier und wenn er so weiterrechnet, dann wird er in 60-90h fertig werden. Fragt mich nicht, was es für eine Qual war das System aufzusetzen. Die CPU ist nicht bzw. nicht absichtlich untertaktet, werde mir nachher noch mal die genauen specs raussuchen, aber Everest und das BIOS von dem Rechner geben beide 1,3Ghz (bei 100Mhz FSB) als Standarttakt für die CPU an. Wusste gar nicht, das es so langsame P4 gegeben haben soll. gefühlt liegt die Geschwindigkeit in der Benutzung von XP so etwa bei der eines schnellen PII.

    all I can do is be me, whoever that is. -Bob Dylan

    Römer sind keine Bieber!

  • Das issn Socket 423 Willamette Core. Die hatten noch eine 0.18µm Fertigung, wie die Coppermine P III. Der müßte mit RAMBUS ausgestattet sein, Frage ist nur: Hast auch das Minimum von 1GB RAM drin? Sonst kriegst noch Swappingprobleme.

    In other News: Ich habe jetzt auf der Uni Zugang zu einem Distributed Computing / GRID Computing Cluster bekommen. NETBURST! So ein System habe ich ja selbst schon auf Basis von OpenPBS/torque/maui hochgezogen, dieses hier ist sehr ähnlich was die Tools angeht, eine Sun GRID Engine, läuft auf einem Supermicro Cluster aus 30 Knoten mit je einem Pentium4 3.2GHz non-HT und 1GB RAM. Einige der Knoten sind jedoch schon ausgefallen, sodaß nur mehr 19 funktionsfähige Knoten zur Verfügung standen.

    Nun, anders als bei Shared Memory Clustern mußte ich hier zu etwas "primitiven" Methoden greifen, um die Last halbwegs sauber verteilen zu können. Da es ein GRID Design ist, verhält sich die Maschine nicht wie eine große Kiste mit einem Betriebssystem, sondern eben wie ein Array aus unabhängigen Maschinen, die ihre Arbeit über ein Job Submission System (PBS = Portable Batch System) erhalten.

    Zuerst mußte ich die Arbeit manuell aufteilen, weil x264 an sich ja nicht verteilt läuft (MPI Versionen existieren nicht). Also habe ich zuerst das Inputvideo in Slices geteilt (hierzu mußte ich leider den dd-Dampfhammer einsetzen, weil ffmpeg/avconv nicht seeken wollten und nicht sauber an Keyframes trennen konnten), also in Scheiben, eine für jeden Knoten.

    slice1.264 - slice19.264 sind das Elephants Dream Inputvideo, nicht ganz fein säuberlich in Scheiben geschnitten:

    [Blockierte Grafik: http://www.xin.at/thrawn/pics/screenshots/mul-supermicro-cluster/x264-supermicro-cluster_1.png]

    Zusätzlich zu den klassischen PBS Cluster-/GRID-Tools wie qsub, qdel, qstat etc. gibt es hier auch noch einen lässigen Sun Cluster Monitor namens "sns". Dieser zeigt uns den momentan leeren und tlw. schon defekten Cluster, die inaktiven Knoten sind mit "E"/"au" markiert:

    [Blockierte Grafik: http://www.xin.at/thrawn/pics/screenshots/mul-supermicro-cluster/x264-supermicro-cluster_2.png]

    Nun gilt es, ein passendes Jobscript zu schreiben. Da alle 19 Tasks zueinander extrem ähnlich sein werden, empfiehlt sich der Einsatz eines Job Arrays. Dabei werden in unserem Fall 19 gleiche Jobs abgeschickt, die jeweils eine fortlaufende Nummer per Umgebungsvariable zugeordnet bekommen, anhand dieser Nummer kann der Job dann entscheiden "Ich bin #3" oder "Ich bin #17", und kann so die ihm zugeordneten Ein-/Ausgabedaten lesen und schreiben.

    Hier mein Steuer-Jobscript für Die Sun GRID Engine, bzw. das PBS System (ich bin hier der User "autumnf", habe ich vom Admin so zugeordnet bekommen, ist eine alte Accountleiche). libav und x264 wurden natürlich mitsamt SSE+SSE2 Optimierungen vom Quellcode kompiliert, hier Mal ohne root Rechte, der yasm Assembler mußte ebenfalls erst von Hand gebaut werden:

    benchmark-qsub.sh:

    Code
    #$ -N x264benchmark#$ -t 1-19export PATH=$PATH:/SAS/home/autumnf/usr/binecho $PATHcd /SAS/home/autumnf/x264benchmarktime transcode.sh

    Hier sehen wir, daß transcode.sh ausgeführt wird, und zwar 19 Mal. transcode.sh ist dann das tatsächliche Worker Script, in dem auch die Job ID (Umgebungsvariable "$SGE_TASK_ID") ausgewertet wird, um die korrekten Daten zu lesen und zu schreiben.

    transcode.sh:

    Bash
    #!/bin/bash
    # Pass 1:
    x264 --preset veryslow --tune film --b-adapt 2 --b-pyramid normal -r 3 -f -2:0 --bitrate 10000 --aq-mode 1 -p 1 --slow-firstpass --stats benchmark_slice$SGE_TASK_ID.stats -t 2 --no-fast-pskip --cqm flat slice$SGE_TASK_ID.264 -o benchmark_1stpass_slice$SGE_TASK_ID.264
    
    
    # Pass 2:
    x264 --preset veryslow --tune film --b-adapt 2 --b-pyramid normal -r 3 -f -2:0 --bitrate 10000 --aq-mode 1 -p 2 --stats benchmark_slice$SGE_TASK_ID.stats -t 2 --no-fast-pskip --cqm flat slice$SGE_TASK_ID.264 -o benchmark_2ndpass_slice$SGE_TASK_ID.264

    Danach schicken wir das einfach ab:

    • qsub ./benchmark-qsub.sh

    Und schon finden wir den Cluster in wunderbar ausgelastetem Zustand wieder, hier sind 19 Netburst Kracher am Arbeiten! :spitze:

    [Blockierte Grafik: http://www.xin.at/thrawn/pics/screenshots/mul-supermicro-cluster/x264-supermicro-cluster_3.png]

    Und hier noch die entsprechende Ausgabe des klassischeren qstat Cluster Tools:

    [Blockierte Grafik: http://www.xin.at/thrawn/pics/screenshots/mul-supermicro-cluster/x264-supermicro-cluster_4.png]

    Interessant ist, daß sich dieser Cluster - obwohl kommerziell aufgesetzt - kaum von dem unterscheidet, was ich auf eigene Faust schon zusammengebracht habe. Einziger Unterschied ist, daß die Knoten homogener und nicht in HW und SW gemischt sind, so wie bei meiner Lösung.

    Spannend wird noch die Frage, wie das Ergebnis auszuwerten wäre. 100% fair kann es auf keinen Fall gehen, und die Ausgabe dieser verteilten Lösung ist aufgrund der Schnittpunkte auch nicht mehr mit der eines regulären Einzelrechners oder Shared Memory Clusters zu vergleichen. Auf gut Deutsch: Keine direkte Vergleichbarkeit mehr, aber gut, das kann man tlw. auch vom x264 Multithreading sagen, durchs Frameslicing.

    Entweder man nimmt den Wert des langsamsten Knotens (nicht 100% repräsentativ, weil man die Last ja durch adaptives Slicing besser verteilen könnte) oder man rechnet die Laufzeiten alle zusammen, und dividiert sie durch die Anzahl der Knoten (nicht ganz 100% repräsentativ, weil es das optimale Skalierungsergebnis ergeben würde, dieses könnte man zwar durch Analyse der Frametimeverläufe erlangen, aber nicht manuell. Dennoch tendiere ich eher zu dieser Lösung).

    Mal schaun morgen was der Netbörst Cluster so ausspuckt. :spitze:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    4 Mal editiert, zuletzt von GrandAdmiralThrawn (17. September 2012 um 18:08)

  • Da hilft halt SSE2 auch ned mehr viel, aber in ca. 2 Tagen sollte er's eigentlich schon halbwegs schaffen. Vielleicht 3, wenn man das Alter der Plattform bedenkt.. Bin gespannt wie schnell der Cluster ist. Das waren glaub ich E7205 Chipsets oder so.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • So, eines muß jetzt echt Mal klar sein, jedes Problem lässt sich schnell lösen, man muß nur genügend Netbursts danach werfen, dann wird alles gut, und heizen muß man ja auch nicht mehr! :spitze:

    So sieht das ganze aus, wenn 19 Knoten mit allen Slices fertig sind (benchmark_2ndpass_concatenated.264 ist bereits das fertig zusammengestoppelte Ergebnisvideo):

    [Blockierte Grafik: http://www.xin.at/thrawn/pics/screenshots/mul-supermicro-cluster/x264-supermicro-cluster_5.png]

    Mein Dank geht hier wieder an den Lehrstuhl für Simulation und Modellierung metallurgischer Prozesse (SMMP) an der Montanuniversität Leoben, der diesen verteilten Cluster aus 19 Knoten zur Verfügung gestellt hat:

    0000:58:01.600 | SMMP | 19/1/1 | Intel Pentium 4 (no HT) 3.20GHz | 1GB DDR-I/266 (per node) | SuperMicro/SGE GRID Cluster | OpenSuSE 10.3 Linux (Custom GCC Build)

    Nach einem kurzen Test scheint mein Slicing auch einigermaßen funktioniert zu haben, das Ausgabevideo läßt sich immerhin scheinbar fehlerfrei wiedergeben. :)

    Kalkulation des Resultats ist Summe aller Laufzeiten durch Anzahl der Knoten (Optimalresultat). Vergleichbarkeit natürlich ein wenig mangelhaft, aus mehreren Gründen als üblich unter Linux.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    2 Mal editiert, zuletzt von GrandAdmiralThrawn (18. September 2012 um 10:01)

  • Ich würde gerne mal den Bench auf meinem G5 unter MacOs 10.5.8 laufen lassen. Gibts dafür schon eine Anleitung. Die beiden Varianten im ersten Post funktionieren nicht. Gäbe es auch eine Möglichkeit den Bench auf MacOS 9.x laufen zu lassen?