Comparativa OpenCL vs CUDA

por

duelo GPGPU

OpenCL la API GPGPU abierta es quizá considerada por muchos como la API que tiene mayores probabilidades de convertirse en el estándar de facto como plataforma para ejecutar aplicaciones que funcionen usando el poder de cálculo de los GPU, debido a ser multiplatafoma y no tener restricciones de hardware o sistema operativo como sus competidoras ATI Stream, Nvidia CUDA y Microsoft Direct Compute; así como la futura API GPGPU de Pathscale.

Si bien hace algunos meses AMD nos mostró algunas diferencias a nivel de características entre OpenCL y CUDA. D-Wave Systems realizó una comparativa midiendo el performance de OpenCL y CUDA, usando una Nvidia Geforce GTX-260, los resultados corresponden al promedio de pruebas que fueron repetidas 10 veces para asegurar una mayor exactitud. Sin mayor preámbulo, aquí los resultados:

Conclusiones

Como era de esperarse, los resultados de CUDA son superiores a los de OpenCL, lo cual es lógico, pues el hardware de Nvidia ha sido desarrollado estrechamente ligado a su propio API GPGPU CUDA, el mismo escenario debería repetirse en una prueba similar ATI Stream vs OpenCL ejecutada sobre hardware ATI. El que OpenCL tenga un rendimiento inferior a CUDA y Stream es un ligero precio a pagar a cambio de eliminar las restricciones de hardware y acercar el GPGPU a la mayoría de usuarios y desarrolladores de aplicaciones.

Link: A Performance Comparison of CUDA and OpenCL (Cornell University Library)