Das Update auf den Vulkan-Treiber von Intel verbessert die CPU-Auslastung durch Reduzierung des Overheads


Mesa 22.3 fügt im neuesten Update mehr Code in den Intel Vulkan-Treiber ein. Dieses neue Patchwork begrenzt den Bedarf an CPU-Auslastung im Vulkan-Push-Deskriptorcode.

Die Reduzierung wurde nach einer gründlichen Überprüfung mit VKOverhead entdeckt, einem Mikro-Benchmarking-Tool, das von Mike Blumenkrantz entwickelt wurde, als er zu dieser Zeit an seinem anderen Projekt arbeitete; die Zink- und Vulkan-Optimierungen. Darüber hinaus codierte Lionel Landwerlin, ein Intel-Ingenieur, die ANV-Treiber, um das CPU-Overhead-Problem des Vulkan-Treibers zu lösen. Mit dem VKOverhead-Tool fand er eine Steigerung von dreißig Prozent im Vergleich zur ursprünglich entdeckten Primärleistung, muss aber die gleichen Ergebnisse in weiteren Tests noch wiederholen.

Eine Notiz von Landerwerlin an Blumenkrantz zum GitLab-Merge-Request lautet:

Diese Änderung scheint keinen Unterschied in gfxbench gl_driver2 in einem Release-Build zu machen. Nicht ganz sicher, warum an dieser Stelle. Iris/Zink+Anv FPS: 144,3/114,9

Bei mir hat es vorher eine gute Verbesserung gebracht (ich habe 30% aufgeschrieben). Aber vielleicht war das in einem Debug-Build.

Oder es könnte ein Problem mit meinem Setup sein (primäre GPU AMD mit Display, sekundär mit Intel IGPU).

Auf der Intel Innovation am 27. September 2022 stellte Intel seine neue Intel Core-Prozessorfamilie der 13. Generation vor, die auf Intels Performance-Hybridarchitektur basiert. Die neue Prozessorfamilie startete mit sechs neuen entsperrten Desktop-Prozessoren. (Bildnachweis: Intel Corporation)

Dies sind jedoch die Codeänderungen, die in der letzten Zusammenführungsanforderung vorgenommen wurden:

Voverhead vorher / nachher :

descriptor_template_1ubo_push: 40670 / 85786 **
descriptor_template_12ubo_push: 4050 / 13820 **
descriptor_template_1combined_sampler_push, 34410 / 34043
descriptor_template_16combined_sampler_push, 2746 / 2711
descriptor_template_1sampled_image_push, 34765 / 34089
descriptor_template_16sampled_image_push, 2794 / 2649
descriptor_template_1texelbuffer_push, 108537 / 111342
descriptor_template_16texelbuffer_push, 20619 / 20166
descriptor_template_1ssbo_push, 41506 / 85976 **
descriptor_template_8ssbo_push, 6036 / 18703 **
descriptor_template_1image_push, 88932 / 89610
descriptor_template_16image_push, 20937 / 20959
descriptor_template_1imagebuffer_push, 108407 / 113240
descriptor_template_16imagebuffer_push, 32661 / 34651

Das Mesa-Projekt ist weiterhin eine Sammlung verschiedener APIs zur Unterstützung der grafischen Unterstützung in einer Open-Source-Umgebung. Seit seinen bescheidenen Anfängen im August 1993 hat es sich im Laufe der Jahre gefestigt, um mit vielen Grafik-Engines auf mehreren Plattformen integriert zu werden. Solche Implementierungen wie OpenGL und Vulkan werden von großen Unternehmen wie Intel, AMD, NVIDIA und anderen unterstützt. Es sieht im Monatsdurchschnitt ständige Updates und informiert die Community regelmäßig über alle wesentlichen oder geringfügigen Änderungen.

Larabel gibt an, dass 720 Zeilen neuen Codes fertiggestellt und über 220 Codes aus dem Vulkan-Treiber von Mesa3D gelöscht wurden. Benutzer, die daran interessiert sind, mehr über die aktuellste Zusammenführungsanforderung zu erfahren, können auf der lesen Mesa-GitLab-Seite.

Nachrichtenquellen: Phoronix, Mesa Vulkan GitLab-Seite

source-99

Leave a Reply