El programador Alder Lake no es omnipotente, Intel espera optimizaciones de los desarrolladores

Intel ha publicado el llamado Guía de optimización de la arquitectura híbrida para desarrolladores, una guía para que los desarrolladores optimicen el software para arquitecturas híbridas. De ello se deduce que la programación controlada por hardware, que pasa datos al sistema operativo sobre la base de qué tareas individuales se asignarán a núcleos pequeños o grandes, puede no elegir un enfoque que sea verdaderamente óptimo. Por tanto, Intel anima a los desarrolladores a optimizar y describe tres tipos de escenarios posibles:

  • Sin optimizaciones – una situación en la que el procesador ejecuta una aplicación estándar que no contiene optimizaciones específicas para esta arquitectura. La distribución de la carga entre los núcleos grandes y pequeños depende puramente de cómo el circuito de hardware evalúa la situación (que pasa las conclusiones de su algoritmo al sistema operativo). Puede haber situaciones en las que una tarea secundaria se ejecute en un núcleo grande o, a la inversa, una tarea clave se ejecute en uno pequeño.
  • “Buen” escenario – una situación en la que el desarrollador toma medidas básicas para optimizar la tarea para Lago de aliso. Implica la creación de un sistema de tareas basado en el número de núcleos grandes o el número máximo de subprocesos (dirigidos a núcleos grandes) clave para la tarea y priorizar subprocesos (alto / bajo) a través de la API de QoS para apuntar esos subprocesos a los núcleos correctos.
  • “Mejor escenario” – creación de dos grupos de subprocesos (“sistema de tareas híbrido”), donde el primer grupo apunta a núcleos potentes y secundarios (por ejemplo, compilación de sombreadores, mezcla de sonido, descompresión y otras tareas que no son críticas para el rendimiento resultante).

Demostración de la distribución de la carga entre núcleos Alder Lake grandes (azul claro) y pequeños (gris claro)

Intel también proporciona un diagrama del diseño y la interconexión de datos de núcleos grandes y pequeños (a continuación), que básicamente explica por qué SiSoft está probando Lago de aliso notó altas latencias en la necesidad de comunicación entre núcleos grandes y pequeños, como resultado de lo cual era más ventajoso no usar núcleos pequeños en tales tareas:

Mientras que los núcleos grandes (Golden Cove) cada uno tiene su propio caché L2 y cada uno tiene su propio canal de datos al caché L3, los núcleos pequeños comparten la conexión al caché L2 en cuatro, y un canal al caché L3 sirve a cuatro núcleos. Por lo tanto, la comunicación entre núcleos grandes y pequeños es significativamente más lenta (logrando latencias más altas) que la comunicación entre núcleos pequeños entre sí o entre núcleos grandes entre sí.


Source: Diit.cz by diit.cz.

*The article has been translated based on the content of Diit.cz by diit.cz. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!

*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.

*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!