La computación heterogénea en general se refiere a los sistemas informáticos que utilizan más de un tipo de motores de procesamiento (o núcleos de procesador).
Los diferentes tipos de núcleos de procesador podrían ser
- uno o más núcleos de CPU de uso general
- GPU (unidad de procesamiento de gráficos),
- DSP (procesadores de señal digital),
- Otros aceleradores específicos de la aplicación (por ejemplo, un acelerador criptográfico)
- un dispositivo programable general como un FPGA
Una CPU con una GPU integrada (unidad de procesamiento de gráficos) fue la primera forma de sistema informático heterogéneo que se desarrolló. La GPU se diseñó originalmente para aplicaciones de juegos en mente y luego se consideró útil para el cómputo de propósito general: patrones que operan en grandes conjuntos de datos como en la computación científica.
- ¿Qué lenguajes de programación necesito aprender para ser un buen ingeniero en mecatrónica y para fabricar / desarrollar instrumentos médicos?
- Cómo elegir la CPU correcta
- ¿Se necesita programación C para los estudiantes de ECE?
- ¿Cuál es la diferencia entre la lógica de negocios y la lógica de presentación?
- ¿Debo especializarme en CS o CE?
Con la era móvil, SOC (System on Chip) se desarrolló con procesadores multimedia CPU + GPU + DSP +, que también es una forma de computación heterogénea (por ejemplo: un último Qualcomm Snapdragon SOC tiene una CPU Kryo, GPU Adreno, DSP Hexagon,)
Con las tendencias recientes en informática e inteligencia artificial , existen otras tendencias para usar FPGAs para descargar ciertas cargas de trabajo de la CPU e incluso integrar procesadores de red neuronal personalizados para tener una computación realmente heterogénea (por ejemplo: los últimos servidores de clase Xeon de Intel tienen FPGA integrados y también están hablando de procesadores integrados de red neuronal Nervana en servidores de clase Xeon)