Las GPUs todavía son muy inflexibles, hace relativamente poco que pueden hacer "jumps", la comunicación entre memorias locales/buses es limitada, y el repertorio de instrucciones es muy pobre (pues es para algo muy concreto).
No tengo ni idea de lo que me estás hablando, pero supongo que te estás refiriendo a una generación anterior de tarjetas gráficas. Las últimas (las que tienen el chip G80 y se programan con CUDA) puedes implementar cualquier código por complicado que sea. De facto, CUDA es un extensión del lenguaje C y sirve para compilar tanto la CPU como la GPU.
Salvando el diseñar un código que se ajuste lo más posible a la arquitectura de las GPUs, lo realmente complicado es diseñar un código para que se ejecute en paralelo en varios miles de threads.
La única limitación es que todavía funcionan con precisión simple, pero ya está anunciado que la próxima generación tendrá precisión doble y además seguramente traerá alguna que otra sorpresa.
Sí, pero no es el lenguaje C el que limita, es la arquitectura. Imagina que tengas 100 mini CPUs en cada GPU, con sus respectivos buses a las memorias locales de esas mini-CPUs, al resto de mini-CPUs, a la memoria compartida de la GPU, al bus de E/S para llegar a la RAM del sistema, etc... sale muy caro tener tanto bus, por eso prefieren poner más unidades funcionales / mini-CPUs, con menos flexibilidad. En realidad, ese problema está solucionado, pero todavía no a esa escala (por poner un ejemplo en otro ámbito, un Cell con 7 SPEs no está limitado por el bus circular interno, pero si tuviese 14 SPEs, el chip tendría que ocupar no el doble, sino bastante más, pues tiene penalización extra por la nueva topología -no crece de manera exponencial, por ser un bus circular y no interconectado, pero es notable-).
Re:Se va acercando, pero todavía, no.
(Puntos:1)Salvando el diseñar un código que se ajuste lo más posible a la arquitectura de las GPUs, lo realmente complicado es diseñar un código para que se ejecute en paralelo en varios miles de threads.
La única limitación es que todavía funcionan con precisión simple, pero ya está anunciado que la próxima generación tendrá precisión doble y además seguramente traerá alguna que otra sorpresa.
Re:Se va acercando, pero todavía, no.
(Puntos:2)( http://www.voluntariado.net/ | Última bitácora: Domingo, 10 Junio de 2012, 21:48h )