¿Es posible el subprocesamiento en una GPU?

Hyper-Threading es un concepto de CPU que tiene que ver con la forma en que la CPU accede a la RAM y puede procesar las instrucciones para múltiples subprocesos de forma “intercalada”. Básicamente, si un núcleo de CPU tiene un hilo que está allí esperando transferencias de datos (hacia / desde RAM o un disco duro, etc.), HT le permite “cambiar de contexto” más rápidamente y manejar el trabajo de otro hilo, mejorando La eficiencia general de la CPU. No conozco todos los detalles sobre cómo funciona esto, pero en ciertas aplicaciones, los sistemas con CPU HT tienden a ser más eficientes que aquellos sin hiperprocesamiento. El sistema operativo generalmente verá una CPU hiperprocesadora que tiene el doble de núcleos de lo que realmente tiene (por ejemplo, una CPU de cuatro núcleos aparecerá con ocho núcleos), pero esto no significa que la CPU pueda hacer el doble tanto trabajo como una CPU no hiperprocesada.

Ahora, ¿por qué las GPU no hacen esto también? Principalmente porque no hay necesidad de que lo hagan. Los núcleos de GPU son procesadores mucho más simples que los núcleos de una CPU: son realmente buenos para realizar tareas muy simples, directas y repetitivas, y la RAM con la que tienen que trabajar está muy optimizada para tareas relacionadas con gráficos. Los núcleos de GPU tienen conjuntos de instrucciones mucho más limitados que las CPU, por lo que no hacen casi tantos tipos diferentes de cosas. Funcionan en un entorno donde el ciclo de procesamiento y transferencia de información es mucho más constante que con una CPU, y no están interesados ​​en absoluto en las E / S de disco o en ninguna otra tarea de propósito general que una CPU tenga que realizar.

En resumen, el hiperprocesamiento simplemente no tiene ningún sentido para una GPU. No es probable que mejore el rendimiento de ninguna manera; en todo caso, lo obstaculizaría bastante, en parte porque la GPU en sí misma debería ser más compleja para admitir la función. El circuito en un Intel Core i7 para admitir hiperprocesamiento (lo que falta en el i5) es realmente complicado. (Nuevamente, no conozco todos los detalles, pero hay muchos documentos técnicos que tratan sobre esto. :))

Espero que esto ayude. 🙂