OpenCL nuevo interfaz de programaci贸n paralela
OpenCL, Open Compute Language, es la primera propuesta abierta y est谩ndar de programaci贸n paralela sobre dispositivos heterog茅neos de consumo, como sistemas multicore, GPUs, m贸viles, procesadores basados en Cell, etc. El objetivo de OpenCL es crear un punto de encuentro entre fabricantes para que adopten una estrategia com煤n, simplificar la programaci贸n de estos dispositivos y poder sacar provecho a arquitecturas heterog茅neas con menores tiempos de desarrollo. OpenCL fue una iniciativa propuesta por Apple y posteriormente impulsada por Khronos, el grupo de empresas del sector que mantiene el interfaz de acceso gr谩fico OpenGL entre otros.
Khronos, el grupo formado por diversas empresas del sector como son 3DLABS, Activision Blizzard, AMD, Apple, ARM, Barco, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, HI, IBM, Intel Corporation, Imagination Technologies, Kestrel Institute, Motorola, Movidia, Nokia, NVIDIA, QNX, RapidMind, Samsung, Seaweed, TAKUMI, Texas Instruments y Ume氓 University, ha presentado oficialmente en SIGGRAPH ASIA 2008 la especificaci贸n 1.0 de OpenCL. La iniciativa responde a la creciente popularidad de ciertas arquitecturas multicore, desde los ordenadores de sobremesa, a estaciones basadas en procesadores Cell o arquitecturas basadas en tarjetas gr谩ficas, como los sistemas Tesla de Nvidia o FireStream de AMD/ATI.
La aceleraci贸n que producen determinadas aplicaciones de prop贸sito general sobre dispositivos poco habituales como estas tarjetas gr谩ficas, han forzado a algunos fabricantes a introducir interfaces de programaci贸n para aprovechar sus arquitecturas. Ese fue el caso de Nvidia y su popular arquitectura hardware/software CUDA o AMD/ATI y su Stream SDK. Sin embargo, estos interfaces no eran multiplataforma, evitando la portabilidad de las soluciones entre diferentes fabricantes de hardware y entre diferentes dispositivos que, sin embargo, coincid铆an en comunes modos de programaci贸n. La empresa Rapidmind capitaneada por Michael McCool, profesor de la Universidad de Waterloo, lleva varios a帽os proponiendo un interfaz multiplataforma con iguales prop贸sitos, pero no era libre y sus licencias eran de pago.
Con OpenCL se abre un nuevo horizonte para el aprovechamiento de estos sistemas de consumo y altas prestaciones, se dota de cierto razocinio en la comunidad y se establece un punto de partida para el futuro de estas arquitecturas.
Si te gust贸 esta entrada an铆mate a escribir un comentario o suscribirte al feed y obtener los art铆culos futuros en tu lector de feeds.
Comentarios
La estandarización de una tecnología (lenguaje + APIs) para la programación de aplicaciones en sistemas multicore y tarjetas gráficas facilitará que las capacidades de computación sean aprovechadas al máximo desde lenguajes de programación y tecnologías de alto nivel.
Hasta ahora, el aprovechamiento de las capacidades de computación de las GPUs en aplicaciones de propósito general ha estado reducido a un pequeño número de aplicaciones específicas y muy acopladas a la tecnologías de programación empleada (p.e. CUDA).
Con un estándar abierto e interoperable no pasará mucho tiempo hasta que aparezcan bindings para Java y C# de forma que cualquier aplicación desarrollada en estos lenguajes pueda aprovecharse también de las capacidades de computación.

observen esto:
http://www.ellibrepensador.com/2008/12/03/leyendo-a-william-cole/