OpenCL™ (Open Computing Language) es una API de bajo nivel para computación heterogénea que se ejecuta sobre la arquitectura CUDA. Con ella, los desarrolladores pueden escribir kernels de cálculo utilizando un lenguaje de programación similar a C y aprovechar así la enorme potencia de procesamiento paralelo de las GPUs NVIDIA para crear atractivas aplicaciones de cálculo. A medida que este estándar madure y pueda utilizarse en procesadores de otras marcas, NVIDIA seguirá suministrando los controladores, las herramientas y la formación necesarios para utilizarlos.
Apple, en colaboración con NVIDIA, remitió a Khronos Group la especificación de OpenCL en el verano de 2008 con el objetivo de promover un entorno multiplataforma para computación de propósito general en la GPU. NVIDIA ha presidido el grupo de trabajo que define este estándar desde su constitución y, en junio de 2009, comercializó la primera implementación de GPU del mundo conforme con OpenCL para Windows y Linux. |
 |
NVIDIA ofrece soporte para OpenCL en sus controladores oficiales desde octubre 2009, lo que significa la posibilidad de usar OpenCL en los más de 250 millones de GPUs basadas en arquitectura CUDA que se han vendido desde 2006.
Recursos de desarrollo de OpenCL:
Ya están disponibles los ejemplos de código y los controladores de OpenCL v1.1 (junio de 2010)
Los controladores preliminares para OpenCL v1.1 y ejemplos de código ya están a disposición de los desarrolladores de aplicaciones de GPU Computing registrados. Conéctese o solicite una cuenta para descargar hoy OpenCL v1.1.
|
Recursos de desarrollo de OpenCL:
| Sesiones de la Conferencia sobre tecnología para la GPU 2010:
|
NVIDIA apoya con entusiasmo cualquier lenguaje o API que ayude a los desarrolladores a aprovechar el potencial de procesamiento de la GPU. La compañía tiene un largo historial como defensora y promotora de nuevos estándares, ya que la existencia de un mayor número de lenguajes aumenta la cantidad y el alcance de las aplicaciones que pueden explotar la capacidad de cálculo paralelo de la GPU. Con el actual soporte de los lenguajes C/C++ y Fortran, y la disponibilidad de APIs como OpenCL y DirectCompute de Microsoft, podemos decir que el GPU computing ya es una tecnología de uso mayoritario. NVIDIA es el único fabricante de procesadores que ofrece esta variedad de soluciones abiertas y estándar para la GPU.
NVIDIA es una compañía líder en el soporte de OpenCL:
2010
Noviembre: NVIDIA publica una actualización de Visual Profiler y una nueva versión de cuda-memcheck para aplicaciones OpenCL.
Julio: el
grupo Khronos certifica la API OpenCL 1.1 de NVIDIA como la primera implementación conforme con la especificación.
Junio: NVIDIA publica una actualización de Visual Profiler y nuevos ejemplos de código del SDK para desarrolladores de OpenCL.
Junio: NVIDIA publica OpenCL 1.1 R256 (candidata a obtener el certificado de conformidad) para miles de desarrolladores.
Marzo: NVIDIA publica Visual Profiler 3.0 con soporte integrado de aplicaciones OpenCL y CUDA C/C++ para GPUs de arquitectura Fermi.
Marzo: NVIDIA publica la actualización de sus controladores R195 con el ICD aprobado por Khronos, lo que permite a las aplicaciones OpenCL utilizar las GPUs NVIDIA y otros procesadores al mismo tiempo.
Enero: NVIDIA publica la actualización de sus controladores R195, que incorpora soporte para las extensiones de OpenCL solicitadas por los desarrolladores para la expansión de bucles (loop unrolling) y el uso de buffers compartidos de Direct3D9/10/11.
Enero: Khronos Group ratifica la especificación del ICD aportada por NVIDIA, que permite a las aplicaciones utilizar varias implementaciones de OpenCL de forma simultánea.
2009
Noviembre: NVIDIA publica los controladores R195 con soporte para funciones opcionales de la especificación OpenCL v1.0 tales como las operaciones matemáticas de precisión doble y el uso de buffers compartidos de OpenGL.
Octubre: NVIDIA celebra la Conferencia sobre Tecnología para la GPU, en la que ofrece formación sobre OpenCL a más de 500 programadores.
Septiembre: NVIDIA ofrece formación sobre OpenCL a más de 1000 a través de seminarios gratuitos en la web.
Septiembre: NVIDIA empieza proporcionar soporte conforme con OpenCL 1.0 en todos los paquetes de controladores de usuario final (públicos) para Windows y Linux.
Septiembre: NVIDIA publica OpenCL Visual Profiler, la primera herramienta de análisis del rendimiento en hardware para aplicaciones OpenCL.
Julio: NVIDIA organiza los primeros seminarios web sobre programación de OpenCL en la GPU para desarrolladores: “Introduction to GPU Computing and OpenCL” y “Best Practices for OpenCL Programming, Advanced”.
Julio: NVIDIA publica su
Guía de buenas prácticas para OpenCL, repleta de consejos y técnicas de optimización para obtener los mejores resultados con OpenCL.
Julio: NVIDIA aporta el código fuente y la especificación del ICD (Installable Client Driver) al grupo de trabajo de OpenCL del Khronos Group, cuyo objetivo es hacer que las aplicaciones puedan usar varias implementaciones de OpenCL de forma simultánea en las GPUs, las CPUs y otros tipos de procesadores.
Junio: NVIDIA publica los primeros controladores y el primer kit de desarrollo (SDK) de la industria conformes con OpenCL 1.0.
Abril: NVIDIA publica los primeros controladores de GPU para OpenCL 1.0 en Windows y Linux, acompañados de una guía de programación para OpenCL de más de 100 páginas y el manual OpenCL JumpStart Guide, donde se explica a los programadores cómo migrar el código existente de CUDA C a OpenCL. Asimismo publica sus foros para desarrolladores de OpenCL.
2008
Diciembre: NVIDIA presenta en SIGGRAPH Asia la
primera demostración de OpenCL para GPU del mundo, ejecutada en una GPU para portátiles NVIDIA.
Junio: Apple envía la propuesta de OpenCL al Khronos Group. Se constituye un grupo de trabajo de OpenCL y NVIDIA se presenta voluntaria para presidirlo.
2007
Diciembre: el producto Tesla de NVIDIA recibe el premio a la excelencia técnica de PC Magazine.
Junio: NVIDIA presenta Tesla C870, la primera GPU diseñada para alta computación.
Mayo: NVIDIA introduce las primeras GPUs con arquitectura CUDA capaces de ejecutar OpenCL en portátiles y estaciones de trabajo.
2006
Noviembre: NVIDIA introduce la primera GPU con arquitectura CUDA capaz de ejecutar OpenCL.
OpenCL es una marca comercial de Apple Inc. utilizada por Khronos mediante licencia.