NVIDIA abre el compilador CUDA - Calendae | Informática, Electrónica, CMS, Ciberseguridad

NVIDIA abre el compilador CUDA

Hola, ¿qué tal colega?. Soy Simón Sánchez y en esta ocasión te voy a contar sobre NVIDIA abre el compilador CUDA

El proveedor de GPU NVIDIA hará público el código fuente en tiempo de ejecución del compilador CUDA y el formato de representación interna, abriendo la tecnología a diferentes lenguajes de programación y arquitecturas de procesador. El anuncio se realizó el miércoles en el lanzamiento de la GPU Technology Conference Asia en Beijing, China.

La empresa dice que usará la extensión. Infraestructura del compilador LLVM como vehículo para el código fuente público CUDA. LLVM es un proyecto de código abierto que mantiene colecciones de código fuente de varias herramientas de compilación, tiempo de ejecución y otras herramientas de desarrollo. La nueva fuente CUDA basada en LLVM estará disponible en la última versión del CUDA Toolkit, versión 4.1, también lanzada esta semana.

Sin embargo, la configuración CUDA de código abierto no significa que NVIDIA aceptará arbitrariamente cambios y mejoras en su tecnología de compilación de otros desarrolladores. La compañía todavía tiene la intención de mantener un control completo de su código fuente. Los desarrolladores de herramientas podrán ajustar el compilador estándar y el tiempo de ejecución a sus propias necesidades personalizadas, pero es probable que poco de esto se incluya en el código central de NVIDIA.

La idea principal es permitir que los fabricantes de herramientas de software lleven el compilador CUDA a otros entornos en los que NVIDIA o sus socios comerciales no estén interesados ​​en seguir por su cuenta. En el caso de los lenguajes de programación, ya existen compiladores para C, C ++ y Fortran, que son los tres grandes para la informática de alto rendimiento. Pero a medida que se expande el mercado de la computación GPU, NVIDIA anticipa la necesidad de otros lenguajes como Python o Java, además de lenguajes específicos de dominio.

En cuanto a los objetivos del compilador CUDA, hay mucho espacio para puertos interesantes a otras plataformas. El principal candidato aquí es la plataforma GPU AMD / ATI. Si bien CUDA es el entorno de programación más popular para la computación GPU, actualmente solo funciona en GPU NVIDIA (y x86 multinúcleo a través de una implementación de compilador PGI). Es probable que haya muchos usuarios con aplicaciones basadas en CUDA que ahora estén interesados ​​en ejecutar sus aplicaciones en AMD GPU / APU, o al menos interesados ​​en la posibilidad de que sus códigos puedan hacerlo en una fecha futura.

AMD todavía está impulsando su estrategia OpenCL para la computación GPU. OpenCL, un estándar abierto no específico del proveedor para computación paralela, también es compatible con NVIDIA, pero aún no ha logrado atraer muchas aplicaciones. Al ofrecer abrir CUDA, NVIDIA probablemente ha atenuado algo del atractivo de OpenCL, es decir, asumiendo que un proveedor de compiladores o un grupo de investigación académica construye un compilador de GPU AMD CUDA.

Dado que CUDA es una tecnología de procesamiento paralelo de propósito general, prácticamente cualquier arquitectura multinúcleo / muchos núcleos sería un objetivo potencial. Otras posibles arquitecturas para CUDA incluyen el coprocesador Intel Many Integrated Core (MIC), Power CPU, chip ARM multinúcleo (especialmente para futuras implementaciones de 64 bits) e incluso soluciones más exóticas, como los nuevos DSP de punto flotante de Texas Instruments.

Lo más probable es que la comunidad académica se beneficie de un compilador CUDA abierto. Por ejemplo, en Georgia Tech, el proyecto Ocelot se centra en aplicar CUDA C a varios procesadores, incluidas las GPU AMD y las CPU x86. El proyecto dirigido allí, Sudhakar Yalamanchili, dice que la apertura de la tecnología CUDA es «un paso significativo».

Los proveedores de compiladores que ya tienen acuerdos especiales con NVIDIA también se beneficiarán de la nueva estrategia de código abierto. En el comunicado de prensa, Doug Miles, director de The Portland Group (PGI), dice: «Esta iniciativa permite a PGI crear compiladores nativos de CUDA Fortran y OpenACC que aprovechan la misma tecnología de optimización a nivel de dispositivo utilizada por NVIDIA CUDA C / C +. +. Permitirá la depuración y la creación de perfiles sin problemas utilizando las herramientas existentes y permitirá que PGI se centre en optimizaciones de nivel superior y en la funcionalidad del lenguaje.

NVIDIA no siempre se aprovechará directamente de su nueva postura de código abierto. Seguramente, si algún equipo emprendedor lleva CUDA a los chips AMD, podría reducir las ventas de la GPU Tesla. Pero por el bien de atraer clientes a su hardware, NVIDIA se ha dado cuenta de que una plataforma cerrada desalienta a muchos usuarios que no quieren estar encerrados en una sola plataforma de hardware o depender de un solo proveedor. Al igual que con la reciente aprobación de NVIDIA de las directivas OpenACC, la apertura de CUDA parece ser parte de una estrategia diseñada para expandir el atractivo de la computación GPU en lugar de solo los productos NVIDIA. Parece que el fabricante de GPU ha calculado que expandir el pastel los llevará más lejos a largo plazo que simplemente tratar de maximizar la porción.

Puedes compartir en en tu Twitter y Facebook para que tus amigos lo vean

??? ? ? ???

Comparte