OpenCL para el resto de nosotros

Ayer se anunció la disponibilidad de OpenCL como especificación abierta y soportada por Mac OS X Snow Leopard. Posiblemente a algunos no les pareció una noticia muy interesante, pero realmente si lo es y nos afecta a todos los usuarios de ordenadores Mac y quien sabe en que otros dispositivos OpenCL acabarán filtrándose. Hay un montón de palabrerío técnico alrededor de esta nueva tecnología, pero vamos a intentar una aproximación más humana y con un análisis un poco más profundo acerca de lo que nos vamos a encontrar tras la implantación de esta tecnología en Snow Leopard.

OpenCL para el resto de nosotros

¿Qué es OpenCL?

OpenCL es un conjunto de herramientas de programación que hacen que diferentes procesadores, algunos de ellos, con arquitecturas muy diferentes sean capaces de entenderse. Si Dios hubiera querido crear una parche para solucionar el lío de la la Torre de Babel, OpenCL hubiera sido la tecnología por debajo, permitiendo a elementos muy distintos ser capaces de comunicarse y aunar esfuerzos en tareas comunes.

¿En qué me beneficia?

Imagina que a tu ordenador nuevo con un procesador de 2 ó 4 núcleos le añades un procesador más en paralelo. O más de uno, si tienes varias ranuras PCI disponibles. Puedes empujar el rendimiento en cálculo bruto de un Mac prácticamente hasta el infinito o al menos hasta rebasar el entorno de hardware del propio procesador.

Pongamos un par de ejemplos «comprensibles». Los usuarios de los MacBook blanco a MacBook Aluminio habrán notado que con la tarjeta gráfica 9400M de NVIDIA la vida «es muy diferente». Se nota una gran diferencia en potencia y el ordenador va increíblemente más suelto.

Ahora imagina que estás editando un vídeo y toda esa potencia gráfica no te sirve de nada, porque el que va «ahogado» en ese momento es el procesador. ¿Qué tal dejar que la 9400M eche «una manita» al procesador?. Ese empuje que has percibido podría funcionar como apoyo en tu MacBook.

Exactamente es eso lo que hace OpenCL y por cierto, desde la GeForce 8800 en adelante, todas las tarjetas de Nvidia soportan esta tecnología, integrada en CUDA y que funciona, según la empresa, de forma totalmente transparente.

Otro ejemplo, este más profesional. Los editores de vídeo, y en general, los usuarios de programas que realizan tareas intensivas de cálculo se han encontrado que necesitan un poco más de empuje en un ordenador en concreto por muchas circunstancias, desde procesos industriales atados a una sola máquina, a todos los problemas derivados de comprar un ordenador que además trabaje en conjunto con el otro (más licencias, configuraciones especiales, etc ….). El caso es que para una máquina en concreto, cuando se necesita un empujón de velocidad, hasta ahora no se podía hacer nada … pero en un futuro relativamente cercano si.

A través de las ranuras PCI; se podrán conectar procesadores completos que aprovechándose de esta tecnología «empujarán» la potencia de cálculo de forma que los tiempos de renderizado o ejecución disminuirán incluso hasta radicalmente. En muchos casos, OpenCL permite alargar la vida de los ordenadores permitiendo que su vida útil sea mucho más amplia y más productiva.

¿Y donde compro esos procesadores extras?

Cuando Apple abandono PowerPC dejó atrás una activa industria de fabricantes dedicados a las actualizaciones de procesador. Todo ese mercado murió casi al completo cuando Apple se pasó a Intel, pero el lanzamiento de OpenCL permite a estos fabricantes, que ya tienen experiencia en el diseño de este tipo de hardware, junto con una especificación libre de royalties. Es un mercado muy tentador y ya tienen experiencia en como venderlo y sus usuarios potenciales.

En cuanto se den las circunstancias precisas para el lanzamiento de estos procesadores auxiliares, estas empresas probablemente comiencen a anunciar sus nuevos productos basados en diferentes procesadores … que pueden llegar a ser de todo tipo

¿Todo esto mola mucho, pero para cuando? ¿y cuanto costará?

De momento, todos hemos de esperar al lanzamiento de Snow Leopard, que incluirá el soporte para OpenCL.

Tras el lanzamiento de Snow Leopard, es posible que si estas empresas han trabajado de forma cercana con Apple con las versiones previas de el sistema operativo, es muy posible que breves días después del anuncio comiencen a aparecer las primeras «aceleradoras» disponibles para los Mac Pro de primera generación y quizás, si Snow Leopard acaba teniendo soporte para PPC, para los G5, que más de un usuario vería con agrado poder ponerle un par de cohetes de la marca ACME a su configuración G5 actual.

En cuanto al precio, todo estará basado en el procesador que incluya cada fabricante en su aceleradora, aunque un procesador extremo requerirá un procesador caro (se venden por miles) y posiblemente serán tarjetas aparatosas porque requerirán un sistema de refrigeración exclusivo (son procesadores, y se calientan mucho).

Por ejemplo un Core i7, el último procesador de Intel, tiene una gama que empieza con el Core i7 – 920 a 2,66 GHz que tendrá un precio de 284 dólares en paquetes de 1000. El i7 – 940, a 2,93 GHz será el procesador de gama media a 562 dólares el millar de unidades y el Core i7 – 965, la gama más alta a 3,2 GHz costará 999 dólares. A este precio muy subjetivo debes añadir el coste de I+D, empaquetado, distribución, impuestos, etc … al menos el royalty de la especificación es gratuito.

Pero nadie dice que los fabricantes puedan usar otras tecnologías, como arquitecturas Cell.

Cell es una arquitectura de microprocesador desarrollada conjuntamente por Sony Computer Entertainment, Toshiba, e IBM, en una alianza conocida con el nombre de “STI”. Cell es la abreviatura de Cell Broadband Engine Architecture (“arquitectura de motor Cell de banda ancha”), conocida también como CBEA por sus siglas al completo o Cell BE. Cell emplea una combinación de la arquitectura de núcleo PowerPC, de propósito general y medianas prestaciones, con elementos coprocesadores en cascada, los cuales aceleran notablemente aplicaciones de procesado de vectores y multimedia, así como otras formas de computación dedicada.

La primera gran aplicación comercial del Cell fue la videoconsola PlayStation 3 de Sony. También podemos encontrar este procesador en servidores duales Cell, blade (tipo de servidor autocontenido) Cell en configuración dual, tarjetas aceleradoras PCI Express y adaptadores de televisión de alta definición. Así que una arquitectura Cell también podría ser viable en un momento dado.

Sin embargo, es posible que con la actual situación económica, los fabricantes de tarjetas aceleradoras esperen a que haya una suficiente base de Mac OS X Snow Leopard instalada para poder ofrecer sus productos con la seguridad de que tienen un mercado un poco más amplio al que vender.

El caso es que la opción de poder disponer de un auténtico cohete marca ACME de «poner y quitar» está ahí, ahora, disponible con OpenCL, y que añade el resurgimiento de un mercado que vuelve de entre los muertos y que posiblemente va a dar más de una alegría a los usuarios en tiempos en los que cambiarse de ordenador no se puede abordar tan fácilmente como antes.

7 Comments

  1. Anónimo

    En cuanto a sus aplicaciones con tarjetas gráficas…
    ¿cuales lo soportan? ¿Sólo lo hacen las Nvidia a partir de la 8800 o también las Ati como la Hd2600Pro del imac de 20″? ¿Que pasa con las gráficas de los portátiles?

    Todo esto lo digo mas que nada porque si solo lo soportan las nvidia 8800+, muchos de los actuales equipos van a perder gran parte de su utilidad…

  2. Anónimo

    Eso me temía… La verdad es que es un palo para los que acaben de comprar un iMac con ati, porque bueno, al fin y al cabo los MacPro se pueden actualizar, pero es que con el iMac te la preparan pero bien…

Deja una respuesta