La actualización del controlador Vulkan de Intel mejora la utilización de la CPU al reducir los gastos generales


Mesa 22.3 introduce más código en el controlador Intel Vulkan en la actualización más reciente. Este nuevo mosaico limita la cantidad de demanda de utilización de la CPU en el código del descriptor de inserción de Vulkan.

La reducción se descubrió después de una revisión exhaustiva utilizando VKOverhead, una herramienta de microevaluación comparativa diseñada por Mike Blumenkrantz cuando estaba trabajando en su otro proyecto en ese momento; las optimizaciones de Zink y Vulkan. Además, Lionel Landwerlin, un ingeniero de Intel, estaba codificando los controladores ANV para ayudar con el problema de sobrecarga de la CPU del controlador Vulkan. Usando la herramienta VKOverhead, encontró un aumento del treinta por ciento en comparación con el rendimiento primario descubierto inicialmente, pero aún no ha repetido los mismos resultados en pruebas posteriores.

Una nota de Landerwerlin a Blumenkrantz sobre la solicitud de fusión de GitLab dice:

Este cambio parece no hacer ninguna diferencia en gfxbench gl_driver2 en una versión de lanzamiento. No estoy muy seguro de por qué en este momento. Iris/Zink+Anv FPS: 144,3/114,9

Anteriormente me hizo un cambio con una buena mejoría (he anotado un 30%). Pero tal vez eso fue en una compilación de depuración.

O podría ser un problema con mi configuración (GPU principal AMD con pantalla, secundaria con Intel IGPU).

En Intel Innovation el 27 de septiembre de 2022, Intel reveló su nueva familia de procesadores Intel Core de 13.ª generación con la arquitectura híbrida de rendimiento de Intel. La nueva familia de procesadores se lanzó con seis nuevos procesadores de escritorio desbloqueados. (Crédito: Corporación Intel)

Sin embargo, estos son los cambios de código realizados en la solicitud de combinación reciente:

Vkoverhead antes / después:

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

El Proyecto Mesa continúa siendo una colección de varias API para ayudar con el soporte gráfico en un entorno de código abierto. Desde sus humildes comienzos en agosto de 1993, se ha fortalecido a lo largo de los años para integrarse con muchos motores gráficos en varias plataformas. Implementaciones como OpenGL y Vulkan cuentan con el apoyo de importantes empresas como Intel, AMD, NVIDIA y más. Ve actualizaciones constantes en un promedio mensual y actualiza a la comunidad con frecuencia sobre cualquier cambio significativo o menor.

Larabel afirma que se han completado 720 líneas de código nuevo y se han eliminado más de 220 códigos del controlador Vulkan de Mesa3D. Los usuarios interesados ​​en leer sobre la solicitud de fusión más reciente pueden leer en la página de Mesa GitLab.

Fuentes de noticias: Phoronix, página de Mesa Vulkan GitLab



Source link-29