Einzelnen Beitrag anzeigen

noob2k9

Registriert seit: 1. Aug 2008
13 Beiträge
 
Delphi XE2 Starter
 
#6

AW: Delphi und NUMA-Nodes

  Alt 2. Sep 2019, 22:59
Besteht die Möglichkeit, dem Decoder zu sagen: Dekoriere nur die Y-Plane und ignoriere U- und V-Komponente?
Leider nein, ich werde morgen jedoch libJpeg integrieren - evtl. gibt es dort die Möglichkeit dies zu konfigurieren.



Der Benchmark hat gezeigt, dass die eingesetzte Bibliothek nicht skaliert - zumindest nicht so wie sie derzeit konfiguriert und kompiliert ist.
An den Affinitäten und Prioritäten wurde nichts verändert... keine feste Zuordnung von Threads zu Prozessoren oder NUMA-Knoten.

Der Wert gibt die Anzahl der dekodierten Jpegs / Minute an.

Mango (https://github.com/t0rakka/mango)
1: 696
2: 1002
4: 1204
8: 1207
16: 863
32: 784
64: 840
128: 824

nanoJpeg (http://www.emix8.org/static.php?page=nanoJpeg)
1: 415
2: 822
4: 1633
8: 3095
16: 5316
32: 7806
64: 7627
128: 7202

nanoJpeg ist nun nicht gerade für Performance bekannt, jedoch skaliert es wesentlich besser.
Bei 1-2 Threads hat Mango noch die Nase vorn, danach dreht sich das Bild gravierend um.
Mango kommt über 50%, scheint aber nicht an den NUMA-Knoten zu hängen da die Last über alle Threads verteilt wird.
nanoJpeg reizt ab 32 Threads volle 100% aus...

Ich werde den Test morgen mal mit der nativen Jpeg-Implementierung und libJpeg wiederholen
  Mit Zitat antworten Zitat