Otro cuento chino. Los gpu son buenos para lo que los han hecho: Graficos.
Ahora las compañias tratan de vender la idea de que se pueden usar los GPU para algo mas que graficos. Cierto, mas que todo en matematicas y tareas que ya estan optimizadas en los GPU y que en CPU toma mas instrucciones para realizar.
Pero lo de el uso multiple de los GPU no es nuevo, recordemos los chips TI TIGA o los IBM 8514A que eran CPU aparte para procesos de video y que se programaban sus funciones por software.
Los de intel cuando aparecio el bus PCI salieron con esa loquera de NHP (native host processing). Dejarle las funciones al chip Lentium para procesar audio y video. Lo unico que han quedado son algunos modems bajeritos que aun funcionan de esa manera, ya que se desmejoraba terriblemente el desempeño.
x2 Esque realmente los GPU son más rápidos que los CPU en ciertas tareas. Por ejemplo, si un programa trabaja con una gran cantidad de datos y el proceso se puede realizar de forma paralela entonces es un buen candidato para correrse en la GPU.
Ejemplos: Graficos 3D, procesamiento multimedia, operaciones sobre grandes bases de datos, procesamiento de datos de manera distribuida.
Ahora... si queres utilizar un GPU para hacer tareas generales te vas a llevar la sorpresa de que son más lentos que un CPU. Ya que no estan diseñados para manejar de manera optima todos los saltos y bifurcaciones en el codigo que tiene que manejar un CPU.
Ademas hay que recordar que un CPU tiene funciones especialmente diseñadas para que el sistema operativo haga buen uso de la memoria y las entradas y salidas del sistema. Cosas que no maneja un GPU.
Otro punto es el ancho de banda disponible. Para que los datos puedan ser procesados en la GPU tienen que copiarse a la memoria de la GPU y tenes un cuello de botella llamado PCI-e.
Ahora...... la evolución del CPU ha ido desde un procesador completamente general que ha ido incluyendo diferentes componentes que antes eran externos. Por ejemplo primero se añadió un coprocesador matemático (que era un chip aparte); luego se añadieron modulos para trabajo de puntos flotantes, modulos de procesamiento multimedia, modulos de acceso a memoria etc, etc.
Tanto Intel como AMD estan siguiendo con esa tradición y tienen planificado hacer CPUs que incluyan dentro de si las unidades de GPU. Así como los micros de las consolas que tienen uno o dos cores de procesamiento general y otra de procesamiento vectorial. En el futuro no se extrañen de ver procesadores que tengan 4 cores que sean CPU y un par que sean GPU.
¿Por qué meter el GPU dentro del mismo micro? Pues porque así reduces increiblemente el tiempo de acceso a memoria y te permite mover los datos directamente entre CPU-GPU.
Ya van a ver!! No crean que AMD Compró ATI por gusto