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:CUDA

    (Puntos:0)
    por pobrecito hablador el Viernes, 09 Agosto de 2013, 15:49h (#1344385)

    Por otro lado CUDA está orientado a programadores finales.

    Y que corre en un único tipo de dispositivos.

    Da igual todas las pegas que quieras verle (que son cosa tuya, ya me dirás qué más da que OpenCL funcione exactamente igual que OpenGL y sus shaders), a lo que está tendiendo NVIDIA con CUDA es a generalizar añadiendo funcionalidades originales de OpenCL (como la definición de regiones de memoria). No está tan maduro como CUDA, pero todo llegará. No nos olvidemos de que para cuando salió la especificación de OpenCL 1.0, NVIDIA ya estaba a punto de sacar el SDK de CUDA 2.0. No solo es un proyecto mucho menos ambicioso, además salió muchísimo antes. Es normal que vaya un poco por detrás, pero solo hay que ver los movimientos de NVIDIA y tener en cuenta que tanto CUDA como OpenCL tienen el mismo alcance: uno está destinado a desaparecer en favor del otro, y CUDA tiene todas las papeletas para largarse.

    Esto no quiere decir que desaparezca mañana, tardará y tardará mucho, entre otras cosas porque ya hay muchos sistemas en producción que funcionan con CUDA. Pero todas las compañías: Intel, AMD, Imagination Technologies, Apple, Via, hasta la propia NVIDIA, están detrás de OpenCL. ¡Hasta están preparando bindings para javascript!

    Mientras tanto, CUDA lo implementa NVIDIA y ya parece bastante claro que nadie más se va a subir al carro.

    [ Padre ]
  • Re:CUDA

    (Puntos:2)
    por klim8 (573) el Sábado, 10 Agosto de 2013, 04:41h (#1344421)
    ( http://barrapunto.com/ )

    Y que corre en un único tipo de dispositivos.

    Qué más da si al final tienes que escribir código espécifico para cada plataforma. Has intentado correr un kernel escrito para una GPU en una CPU? o incluso en una GPU de otra marca?

    a lo que está tendiendo NVIDIA con CUDA es a generalizar añadiendo funcionalidades originales de OpenCL (como la definición de regiones de memoria)

    1-Que es la definición de regiones de memoria?
    2-La mayoría de características de OpenCL son directamente copiadas de CUDA. El lenguaje de dispositivo es una copia de CUDA pero con menos características (por ejemplo, sin soporte de punteros). Ahora OpenCL implementará soporte para lanzar kernels desde otros kernels (dynamic parallelism?). Lo que está haciendo OpenCL es intentar parecerse más a CUDA para no quedarse atrás, no al revés. NVIDIA está en el comité de Khronos porque no les cuesta nada dar soporte de OpenCL, ya que no es nada más que un CUDA capado.

    Te pongas como te pongas OpenCL no está hecho para escribir aplicaciones directamente sobre él. Te lo dice alguien que ha tenido que programar (y mucho) en los dos lenguajes.

    Pero todas las compañías: Intel, AMD, Imagination Technologies, Apple, Via, hasta la propia NVIDIA, están detrás de OpenCL

    La única que está realmente detrás de OpenCL es Apple, que tiene derecho a veto en Khronos. El resto están para asegurarse que no se incluye nada que no pueden implementar. Estas compañías están en otros proyectos similares como HSA [hsafoundation.com]. Intel está porque da soporte para la mayoría de modelos de programación, no porque quieran que triunfe.
    [ Padre ]