Un sistema de computación híbrido es un sistema con una estructura de computación de hardware heterogénea. Una combinación de cualquier dispositivo o unidad informática, como la informática que usa CPU y GPU juntas. [1] [2]
Por lo general, el principal componente informático de los sistemas informáticos de alto rendimiento, incluidos los clústeres , es la unidad central de procesamiento . Sin embargo, ya a partir de los procesadores Intel486DX , apareció en los ordenadores un elemento como el coprocesador , que se puede considerar una hibridación a nivel de hardware.
A mediados de la década de 2000 , las unidades de procesamiento de gráficos (GPU) comenzaron a utilizarse con fines informáticos . [una]
El principal problema es encontrar formas de realizar tareas computacionales con una GPU. Al darse cuenta de la demanda de dicha informática, NVIDIA presentó la plataforma de hardware y software CUDA en 2007, que le permite ejecutar código arbitrario en la GPU. Antes de la llegada de CUDA , los programadores tenían que crear sistemas híbridos a partir de tarjetas de video convencionales y programarlos usando API de gráficos complejos .
ATI ha desarrollado sus propias contrapartes CUDA para aplicaciones GPGPU. Estas son las tecnologías ATI Stream y Close to Metal .
Se esperaba que la nueva arquitectura Intel Larrabee fuera compatible con las tecnologías GPGPU . Sin embargo, en realidad lanzado como parte de la línea de productos Intel MIC , Xeon Phi solo admitía computación de propósito general (compatible con x86_64), habiendo perdido las capacidades del procesador de gráficos. Las variantes posteriores de Xeon Phi se implementaron no solo en forma de tarjetas de expansión PCI Express, sino también en forma de un solo procesador central.
La alta potencia de cálculo de la GPU se debe a las peculiaridades de la arquitectura. Si las CPU modernas contienen varios núcleos (en la mayoría de los sistemas modernos de 2 a 8x, 2018, en los del norte puede haber un máximo de 64x), la GPU se creó originalmente como una estructura de varios núcleos en la que se mide la cantidad de núcleos. en cientos (ejemplo: Nvidia 1070 tiene 1920 núcleos). La diferencia en la arquitectura determina la diferencia en los principios de funcionamiento. Si la arquitectura de la CPU asume el procesamiento secuencial de la información, entonces la GPU históricamente estaba destinada al procesamiento de gráficos de computadora, por lo tanto, está diseñada para computación paralela masiva. [3]
Cada una de estas dos arquitecturas tiene sus propios méritos. La CPU funciona mejor con tareas secuenciales. Con una gran cantidad de información procesada, la GPU tiene una ventaja obvia. Solo hay una condición: la tarea debe tener paralelismo.
Las GPU ya han llegado al punto en que muchas aplicaciones del mundo real pueden ejecutarse con facilidad y más rápido que en los sistemas multinúcleo. Las arquitecturas informáticas del futuro se convertirán en sistemas híbridos con GPU que consistan en núcleos paralelos y funcionen en conjunto con CPU multinúcleo. [cuatro]
Texto original (inglés)[ mostrarocultar] Las GPU han evolucionado hasta el punto en que muchas aplicaciones del mundo real se implementan fácilmente en ellas y se ejecutan significativamente más rápido que en los sistemas multinúcleo. Las arquitecturas informáticas del futuro serán sistemas híbridos con GPU de núcleo paralelo que funcionarán en conjunto con CPU de varios núcleos. [5]Profesor Jack Dongarra
Director del Laboratorio de Informática Innovadora
Universidad Estatal de Tennessee
Los procesadores IBM Cell utilizados en las consolas de juegos Sony PlayStation 3 contenían dos tipos de núcleos: un PPE, un núcleo de propósito general y una matriz de 8 coprocesadores SPE.
El software informático BOINC GRID admite la capacidad de utilizar la GPU para realizar tareas informáticas. [6]
distribuida y paralela | Software para computación|
---|---|
Normas, bibliotecas | |
Software de monitoreo | |
Software de control |