Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por faragon (17575) el Lunes, 02 Junio de 2008, 19:29h (#1049667)
    ( http://www.voluntariado.net/ | Última bitácora: Domingo, 10 Junio de 2012, 21:48h )
    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). El siguiente paso intuyo que será similar a lo que hizo IBM/Toshiba/Sony con el Cell [wikipedia.org], inspirado en el Emotion Engine [wikipedia.org] que incorporó la Playstation 2 en 1999 (cualquiera que haya programado los dos sabrá a lo que me refiero).

    Juntar 8 GPUs, pongamos que puedan manejar 500 hilos de ejecución sencillos en memorias locales, es impresionante, pero su ámbito de aplicación es limitado. Para hacerse una idea de la complejidad de hacer posible el propósito general con tantas unidades funcionales, aun con 50 buses circulares, supondría gastar la mitad del área del chip sólo en interconexionado... aunque quizá sea viable a medio-largo plazo.
    Puntos de inicio:    1  punto
    Modificador por Bonus-Karma   +1  

    Total marcador:   2  
  • por mastermemorex (34927) el Lunes, 02 Junio de 2008, 19:52h (#1049681)

    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.
    [ Padre ]
  • por faragon (17575) el Lunes, 02 Junio de 2008, 20:57h (#1049703)
    ( http://www.voluntariado.net/ | Última bitácora: Domingo, 10 Junio de 2012, 21:48h )
    10000 hilos concurrentes a 100 GB/s entre hilo, da 1000 TB/s -yo no me lo creo-, no está mal, chaval, que diría Charly Glamour :-)

    Respecto a los saltos en el Cell, penalizan más o menos como cualquier CPU que no ejecute fuera de orden, se soluciona a base de "loop unrolling" y buena voluntad ;-)

    El Cell, por mi experiencia, está a años luz en flexibilidad de cualquier GPU actual (cálculo, número de registros por unidad vectorial, memoria local, comunicación entre unidades vectoriales, transferencias por DMA en segundo plano, etc.). Eso sí, me encantaría que las GPUs fuesen más flexibles, palabra.
    [ Padre ]
  • 1 respuesta por debajo de tu umbral de lectura actual.