Bedarfserhebung: "Zukunftssicherer" x265 Benchmark

  • Viel weiter runtertweaken geht halt wirklich nicht mehr, ich bin ziemlich am Ende der Fahnenstange... Man könnte nur angeben, daß Maschinen mit >=32 logischen CPUs auch mindestens 24GB RAM brauchen. 32 is so ein Knackpunkt an dem ich die Threads hochdrehe...

    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!"

  • Würde ich auch nicht machen. Hinweis dazu, fertig. Das passt mE sehr gut, wie Du das planst.
    Rein von der Logik her ist doch davon auszugehen, daß Maschinen die >=16 Threads zeitgleich
    abarbeiten auch über ausreichend RAM verfügen, oder? ;)
    Ich finde das sogar gut, daß mit steigender Parallelisierung mehr RAM beansprucht wird.
    Bedeutet ja, das der Bench etwas skaliert und mächtigere Maschinen auch mehr fordert. Wenn
    man das jetzt noch entsprechend dazu digital forcieren könnte.. ein feuchtes Träumchen.. :spitze:

    €: @GAT Zeile 85 Size anpassen ;)

  • Hm? Vernebelt mich nur das Bier? Zeile 85 ist SET "ReqDiskSpaceMB=512", das paßt aber. Der Bench sollte unter 512MiB bleiben im Lauf, also auch mit den ganzen temporären Files. Wächst er drüber?! ?( Oder meinst was anderes?

    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!"

  • Ne, ja, das meinte ich. Erstaunt mich, daß des auch unter 8k passt, bin da von knapp nem GiB ausgegangen.
    Ist halt blöde, das ich den nicht regulär in 8k laufen lassen kann :-/ Aber besser mal ein Hinweis und nachfragen,
    als sich später mit verstopfter HDD und Fehler plagen.. ;)

  • Zitat


    | • Submit result (you actually *DO* need to read 2.) for that!) |
    | • Seriously, read 2.)! |
    | • I MEAN IT! |

    Zitat

    If you cheat, you suck, and people will hate you. You should also hate yourself for that by the way.

    Musste das mal als meine beiden Highlights beim Lesen der README.txt herausstellen, sehr schöne Formulierungen.
    Aber auch der Rest der Readme ist super verfasst, ganz klar -> :thumbup:


    btw. Bob mit der Shotgun auf deiner 403 Seite ist auch lustig, hab ich eben beim Versuch http://xin.at/x265/ aufzurufen zu Gesicht bekommen :spitze:
    Ich nehme mal an, die unter 7a.) erwähnte Seite http://wp.xin.at/x265/index-en.php mit den Unix-Anleitungen ist noch im Bau?

  • Ah, da hast du einen Fehler gefunden (und ich finde grade noch ein paar weitere)! Der Link ist falsch. Aber auch der richtiggestellte Link http://www.xin.at/x265/ (statt wp.xin.at) wird dir noch nichts liefern.

    Grund ist, daß die Webs nicht "in Arbeit" sind, sie sind schlichtweg komplett inexistent. :) Das muß alles erst Mal gemacht werden, aber die Webs baue ich erst so im Laufe der Zeit Mal auf. Und UNIX Anleitungen.. Eh, jo.

    Nachdem doch die meisten User hier Microsoft Windows verwenden, werde ich die Windows Version zuerst launchen, damit die Sache nicht durch den Bau der UNIX/Linux Version verschleppt wird. Und erst danach werde ich laufend, Stück für Stück mit den unixoiden Systemen anfangen, zuerst Linux, dann FreeBSD, und dann kA. OpenBSD oder sonst was. MacOSX sollte wohl auch irgendwann Mal folgen..

    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!"

  • Ein aktueller alpha5-Testlauf unter Windows 10:

    06:16:29.388 | xxx** | 666psycho | 1/4/8 | Intel Core i7 4790 3,6GHz | MSI H97M Eco | Intel H97 | 20GB DDR3/1600 | Windows 10 x64

    Laut Taskmanager lag der Speicherverbrauch insgesamt zwischen 14GB und 15,5GB (für x265 und ffmpeg zusammen), hab da aber nur ab und zu mal kontrollierend drauf geschaut. Passt aber sehr gut in die angepeilte 16GB-Vorgabe würde ich meinen.
    Konsolenausgabe:


    **Für den Basisfaktor 1.00 würde ich den ersten 64-Bit Endkunden-Prozessor vorschlagen -> Athlon64 3000+ müsste das ja gewesen sein (analog zum ersten SSE-fähigen Prozessor beim x264 in Form des PIII 450).
    Mit Sockel 754 oder 939 und DDR1 RAM dürfte es allerdings schwierig werden, auf die 16GB RAM zu kommen, daher könnte ich den Wert mit einer entsprechenden AM2 Plattform liefern, sobald ich eine passende CPU hab. Die paar Euro würd ich da aber auf jeden Fall mal dafür ausgeben, wenn man sich einig ist, dass es die passende CPU wäre. 16GB DDR2 in Form von 4x4GB Samsung Modulen für mein Gigabyte nforce570 AM2+ Board sind vorgestern hier eingetrudelt :D

  • Also ddr1 RAM ist kein Problem ich hab 8x 4gb ddr1 reg ECC liegen. Allerdings brauche ich eine CPU die damit auf dem 939 zurecht kommt. Ich hab Giovannies altes system da. Das werde ich mit sicherheit durchjagen.

  • Allerdings finde ich eine Spitze von 15.5GB fast noch ein wenig haarig mit "nur" 8 Threads. Vielleicht kapp ich noch 2 B-Frames weg, bevor wir eine Referenz definieren...

    Würde auch vorher gern noch auf das neueste x265 updaten. Wobei, das mache ich ganz am Ende vor Launch vielleicht sowieso noch. Aber das sind Feinheiten. Ich geh jetzt Mal davon aus, daß wir feature complete sind, damit wird die nächste Version eine Beta 1.

    ...was natürlich nicht heißt, das "feature complete" auch wirklich stimmt, kennt man ja von diversen anderen Betas :rolleyes:. Aber es müßte halbwegs passen jetzt.

    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!"

  • Es is eh beim CLI Aufruf per wmic auch lahm. Auf'm Terminal stört das halt nicht so, weil da kann der Nutzer lustig dabei zusehen, wie die Checks durchrennen. Aber vielleicht kannst das bei der GUI so lösen, daß du einzelne Calls in Threads auslagerst und parallel ausführst? Und launchen kann der Nutzer erst wenn alle Checks durch sind, vorher Button grau oder so?

    Oder du machst auch so ein Feld in die GUI, wo man die Checks durchlaufen sieht?

    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 hab mir das so gedacht, das ich ein paar generelle checks laufen lasse und solange die nicht fertig sind, kann man den Benchmark nicht starten. Wenn man jetzt ein paar HW informationen auslesen will, kann das eine Minute dauern oder so.

  • Uh... eine Minute? Das is schon heftig.. Weil die HW Infos müssen ja auch in die RESULTS.txt rein, von WMI und CPU-Z...

    Wobei... Die HW Infos (ein paar davon zumindest) könntest du NACH dem Benchmark holen, und es für den Nutzer so aussehen lassen, als liefe der Test noch. Weil ob der 8 Stunden rennt oder 8 Stunden und eine Minute fällt an dem Punkt ja nicht mehr ins Gewicht.

    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!"

  • Ja. Könnte man auch machen. Ich rede allerdings von meinem hwinfo Fenster um generelle Informationen von der Hardware auszulesen. Also auch RAM, wenn möglich auch Timings und so.

  • Habe unterdies nebenher doch mit dem Bau der Linux/UNIX Version begonnen (um Mal was anderes zu machen). Entwickelt wird auf CentOS 6.8 Linux, getestet wird auf selbigem und auch auf FreeBSD 10.3 UNIX. Ziel ist es, das Skript so portabel wie möglich zu machen. Auch der x265 Quellcode wird ein wenig angepaßt, um ein bißchen besser mit UNIX umzugehen.

    Aktuell bin ich am Bau eines "Bootstrappers", der erst Mal einige Abhängigkeiten prüft und dann die für den Benchmark benötigte Software automatisch von beiliegenden Quellen baut und in den Benchmark integriert. Momentan sehe ich zu, daß das für alle Teilkomponenten sowohl mit GCC als auch mit clang Platform Compilern funktioniert (Klappt aktuell bereits). clang GCC wird präferiert - ist er nicht im Suchpfad vorhanden, so wird auf GCC clang zurückgegriffen. Der Intel C Compiler wird nicht unterstützt.

    Die Idee ist es, den Benchmark durch Aufruf von `$ ./bootstrap.sh´ zu bootstrappen, das dauert halt einige Minuten. Zuerst gibt es nur dieses eine Skript. Danach sollen die Binaries fertig gebaut bereitliegen (mediainfo, ffmpeg, x265), in perfekt auf den Benchmark zugeschnittener Form. Auch das launch_x265benchmark.sh und andere Skripte sollen dann fertig bereitliegen, und die Prüfsummen werden erzeugt.

    Ist der Benchmark einmal bootstrapped, soll man ihn auf jede identische Zielmaschine (also mit gleichem UNIX oder Linux Betriebssystem) kopieren und direkt ausführen können. Zudem werde ich zusehen, system- oder linzenzabhängige Dinge wie etwa die GNU bash so weit es halt geht zu meiden, sodaß der Test z.B. auch mit einer klassischen /bin/sh UNIX Shell läuft, ohne Bash Specifics.

    Wichtig war mir auch, keine Software systemweit zu installieren, so wie ich es beim x264 Benchmark bisher gefordert hatte. Alle Tools sollen mit reinen Benutzerrechten bauen und innerhalb des Benchmarkverzeichnisses verbleiben - so werden keine root-Rechte mehr gefordert, und es sinkt die Wahrscheinlichkeit, systemweite Komponenten durch die Installation des Benchmarks zu beeinträchtigen.

    Das geht alles gar nicht Mal so katastrophal schlecht wie gedacht...

    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!"

    3 Mal editiert, zuletzt von GrandAdmiralThrawn (14. März 2017 um 15:27)

  • Bei der Entwicklung des x265 Benchmarks wurde ein Bug in x265, in den Checks der Option --slices aufgedeckt, der dazu führen konnte, daß x265 a.) mit Segmentation Fault abstürzt (Linux) oder b.) in einem unkillable Deadlock einfriert (BSD) oder c.) ohne Fehlercoderückgabe terminiert (Windows), sobald man zuviele Slices definiert (>16). Grund war ein falscher Check in x265, maxSlices wurde hier gegen numRows anstatt gegen slicesLimit getestet.

    Der Fehler wurde an die x265 Entwickler zurückgemeldet und mittlerweile gibt es einen [Patch], der das Verhalten korrigiert. Damit steht auch fest, daß die x265 Version des Benchmarks unbedingt noch aktualisiert werden muß.

    Versucht man jetzt, mehr Slices zu definieren, meldet sich x265 korrigierend zu Wort:

    Code
    x265 [warning]: maxSlices can not be more than min(rows, MAX_NAL_UNITS-1), force set to 15
    x265 [info]: Slices                              : 15

    Damit wird das bisherige maximal stabile Limit von --slices 16 auf --slices 15 reduziert, so wie im Code angegeben. Der Entwickler Chen Min begründet das wie folgt:

    Zitat von Chen Min

    I made a restrict on count of slices because we have limited number of output NAL buffers.
    Every slices need a independent NAL, but the SPS/PPS/VPS will also allocate at least one of NAL, so I made slices limit to (MAX_NAL_UNITS - 1)


    Yay, wir konnten dazu beitragen, einen Fehler im x265 Encoder aufzudecken! :D

    Eine gefixte Version wird mit der Beta ausgeliefert.

    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!"

    Einmal editiert, zuletzt von GrandAdmiralThrawn (15. März 2017 um 08:13)

  • Sodalla, der Bootstrapper ist eigentlich das weitaus präsentierenswertere, aber der erzeugt (durch's C/C++ Kompilieren) soviel Textausgabe, daß er sich nicht herzeigen läßt. Da er aber zumindest grundlegend funktioniert, habe ich auch mit dem Benchmarkskript begonnen. Es ist wirklich NICHT leicht, all die Unterschiede der verschiedenen Unices und auch von Linux sauber abzudecken und wirklich portabel zu scripten... Vieeele Weichen braucht es, speziell auch beim Auslesen der Systeminfos, das geht quasi überall völlig anders, andere Tools, andere Interfaces, andere Outputs, uah... Aber zumindest das geht Mal überall, hier zu sehen auf Linux, FreeBSD UNIX, OpenBSD UNIX und Sun / Oracle Solaris:

    [Blockierte Grafik: http://www.xin.at/x265/files/worklog/development/UNIX/prealpha1/prealpha1-linux.png]
    x265 Benchmark Systemanalyse, Linux (Klicken zum Vergrößern)

    [Blockierte Grafik: http://www.xin.at/x265/files/worklog/development/UNIX/prealpha1/prealpha1-freebsd.png]
    x265 Benchmark Systemanalyse, FreeBSD UNIX (Klicken zum Vergrößern)

    [Blockierte Grafik: http://www.xin.at/x265/files/worklog/development/UNIX/prealpha1/prealpha1-openbsd.png]
    x265 Benchmark Systemanalyse, OpenBSD UNIX (Klicken zum Vergrößern)

    [Blockierte Grafik: http://www.xin.at/x265/files/worklog/development/UNIX/prealpha1/prealpha1-solaris.png]
    x265 Benchmark Systemanalyse, Sun / Oracle Solaris (Klicken zum Vergrößern)

    Hier hat er allerdings nicht encoded, weil der Teil für schnelle Tests deaktiviert war. Das Bootstrapping und das Laufenlassen des Tests funktioniert derweil auf Linux und FreeBSD, OpenBSD kommt als nächstes, und Solaris wohl gar nie so wie das ausschaut mit diesem Fuck-OS! :spitze:

    Ist Mal eine nette Abwechslung, aber demnächst werde ich das Windows Trumm Mal in die Beta schicken.

    Edit: Und jo, die Bitness Abfrage auf OpenBSD is broken, irgendein Shit mit der Shell... ;(

    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 (9. Mai 2017 um 11:27)

  • Noch ein Testlauf:

    34:47:35.585 | xxx | 666psycho | 1/4/4 | AMD Opteron 1352 2,1GHz | Gigabyte M57SLI-S4 Rev 2.0 | nvidia nforce570SLI | 16GB DDR2/800 | Windows 7 x64

    Konsolenausgabe und Results.txt im Anhang.

    Dürfte von der Laufzeit her ungefähr das sein, was man sich so vorgestellt hat, oder? Ist immerhin einer der ältesten und lahmsten Quadcores (entspricht ca. einem 1er Phenom 9500).

    Was RAM-Verbrauch angeht hab ich mal ein paar Screens gemacht und das passt aus meiner Sicht, da muss nix mehr optimiert werden:
    nach 75 Minuten ca. 14,4GB:
    [Blockierte Grafik: https://abload.de/thumb/75min_opteron1352_win1wsv2.png]

    nach 10h ca. 14,8GB:
    [Blockierte Grafik: https://abload.de/thumb/10h_opteron1352_win7krst1.png]

    nach 17h / kurz vor Ende pass 1 caq. 13,7GB:
    [Blockierte Grafik: https://abload.de/thumb/17h_opteron1352_win7hvszy.png]

    Pass 2 braucht generell weniger RAM:
    nach 21h ca. 13,3GB:
    [Blockierte Grafik: https://abload.de/thumb/21h_opteron1352_win7opstn.png]

    13,5GB nach 24h:
    [Blockierte Grafik: https://abload.de/thumb/24h_opteron1352_win7h7skz.png]

    13,8GB nach 32,5h:
    [Blockierte Grafik: https://abload.de/thumb/32_5h_opteron1352_winy9sjm.png]


    Und der Check, ob vcredist 2010 installiert ist funktioniert auch (ist ja beim frisch installierten Win7 nicht dabei):
    [Blockierte Grafik: https://abload.de/thumb/vc2010missingefs6z.png]

  • Ah, super, vielen Dank! Da sind wir ja schon ziemlich nahe am untersten Ende des Spektrums? Wer einen Dualcore reinschickt, ist selber schuld! :topmodel:

    OpenBSD UNIX und Solaris gebe ich übrigens in dieser Phase auf, um die Entwicklung der UNIX/Linux Version zu beschleunigen. Mit dem Portieren kann ich mich ja auch später noch rumschlagen. Linux und FreeBSD sollen fix out-of-the-box laufen. Jetzt bräuchte ich nur noch irgendwie ein modernes MacOS X.. Meine Hackintosh VM is schon recht veraltet.. hm.

    Auf Windows habe ich bald die Beta 1 fertig, da habe ich nur noch eine Winzigkeit eingebaut: Der Decoder soll normal laufen, der Encoder (also x265 selbst) aber mit "Below Normal" Priorität. Das soll sicherstellen, daß der Encoder den Decoder auch in Extremfällen nicht durch CPU Hogging aushungert. Das sollte normal nicht passieren können, aber bei SEHR schnellen (=viele Kerne meine ich) künftigen Maschinen bin ich mir da nicht so sicher.

    Aktuell wird auch gerade ein neues Quellvideo erstellt, um dem durch den Benchmark aufgedeckten x265 Bug bzw. dessen Fix zu entsprechen (--slices 16 -> --slices 15). Das Video ist ansonsten identisch zum bereits ausgelieferten, aber der Bug gehört sauber entfernt, auch aus dem Video selbst.

    Alle denkbaren Windows Konfigurationen lassen sich natürlich nicht durchtesten, und durch die erhöhte Komplexität im Vergleich zum x264 Bench ist eine Fehleranfälligkeit wahrscheinlicher.. Aber ich denke, grobe Schnitzer sollte es wohl keine mehr geben, also...

    Danke für's Testen!

    Mit der Beta sollte es hoffentlich recht flott gehen, da wird - so Gott hilf - nur noch nachpoliert. :)

    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!"