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.
  • Re:OpenCL NO es otro GPGPU

    (Puntos:1, Informativo)
    por pobrecito hablador el Jueves, 11 Diciembre de 2008, 21:21h (#1107488)

    La libería se encargará en cada momento de enviar el trabajo a la GPU o a las CPUs que disponga la máquina de forma transparente al programador con la idea de aprovechar al máximo los recursos.

    Ya me gustaría a mi ver eso. Todavía estoy esperando a un compilador que haga eso que tú dices, ni que sea la décima parte de lo que tú dices.

    Como se suele decir, la escalera al infierno está hecha de buenas intenciones. Yo digo que la historia esa del OpenCL es tratar de atacar un problema por el lado que no es. El problema no es hacer el paralelismo explícito, disponemos de media docena de modelos más o menos extendidos que lo hacen tan bien o mejor que OpenCL. El problema es mapear ese paralelismo de forma útil en una arquitectura tan específica. OpenCL habla mucho de hacer explícito el paralelismo y lo útil que es, pero no dice NADA de qué va a hacer luego con eso. Conclusión: más mierda inútil.

    [ Padre ]
    Puntos de inicio:    0  puntos
    Moderación   +1  
    Modificador extra 'Informativo'   0  

    Total marcador:   1  
  • por crg (29877) el Viernes, 12 Diciembre de 2008, 20:41h (#1107813)
    El compilador en que se basa OpenCL es LLVM [wikipedia.org] (Low Level Virtual Machine), que según la Wikipedia, permite optimización en tiempo de compilación, tiempo de enlace, y tiempo de ejecución, y que de hecho ya se usa en Mac OS X Leopard para emular en la CPU en tiempo de ejecución las características que no sean soportadas por la GPU presente.
    [ Padre ]
  • Re:OpenCL NO es otro GPGPU

    (Puntos:1, Informativo)
    por pobrecito hablador el Jueves, 11 Diciembre de 2008, 22:31h (#1107519)
    Ya he leído las especificaciones. OpenCL es solo otro modelo más. Me da igual que la compilación sea estática o dinámica, eso no hace que se adapte mejor a las capacidades de cada unidad de proceso, solo hace que sea posible hacer ciertas optimizaciones que no influyen para nada en el mapeado que se hace del paralelismo. ¿En qué influye que se compile de forma dinámica para utilizar mejor o peor (o en absoluto) la memoria compartida? ¿En qué influye que se compile de forma dinámica a la hora de vectorizar el código? ¿En qué influye cuando se tiene que buscar la secuencia de shuffle óptima para SSE? Y así, todo lo que quieras. Si todos esos pequeños detalles no fuesen importantes a la hora de hacer eficiente un código en una GPU o donde sea, pues el problema estaría resuelto. Pero cuando eso va a ser la diferencia entre que te vaya bien o no te sirva para nada, lo único que haces es dar vueltas al problema real, al problema que hay debajo.

    PD: OpenMP también toma decisiones en tiempo de ejecución (el número de hilos a lanzar, la distribución de los hilos, etc, se puede hacer en tiempo de ejecución).
    [ Padre ]
  • 1 respuesta por debajo de tu umbral de lectura actual.