Archive

Posts Tagged ‘GPGPU’

Nvidia GT300: Listo para el Supercómputo

4 octubre 2009 Los comentarios están cerrados

supercomputer1El GT300 no solo es otro chip de video, será usado en la supercomputadora Fermi, 10 veces más poderosa que la actual más rápida del mundo.

Recientemente Nvidia dio a conocer la arquitectura de su nuevo chip GT300 llamada Fermi. Pero ¿que hace a este diferente de los chips de video anteriores?

  • Mayor flexibilidad en programación, incluyendo soporte para hasta 32 kernels concurrentes.
  • Soporte de Memoria ECC.
  • Soporte de operación de punto flotante de doble precisión cumpliendo con el estandar IEEE 754-2008
  • Diseño optimizado para OpenCL.

En pocas palabras, este chip cumple con los requerimientos necesarios para ser usado en equipos de cómputo científico en aplicaciones de simulación o investigación, marcando el inicio formal del GPGPU Computing. Y el Oak Ridge National Laboratory será el primero en ensamblar un supercomputador usando la arquitectura del Fermi. Anuncio aquí.

Aunque aún se desconoce los números exactos, se rumora que el GT300 podría procesar 1.5 Tflops en precisión simple y 768 Gflops en precisión doble. Comparando con el último chip de ATI, el Radeon HD 5870 puede alcanzar unos sorprendentes 2.5 Tflops en precisión simple, pero solamente 500 Gflops en precisión doble, que es lo más importante en supercomputación. Aún se espera la versión FireGL del 5870, y el 5890 este mismo año. A pesar de todo los chips de ATI aún no cuentan con los estándares necesarios para ser usados en este tipo de aplicaciones.

El GT300 estará disponible en el mercado para el 1er trimestre del 2010. Más información en el sitio oficial de Nvidia.

Cómputo Eficiente: Diseñando Mejores Chips – Parte I

29 septiembre 2009 Los comentarios están cerrados

En esta miniserie trataré de resumir a grandes rasgos el transfondo cultural, económico y tecnológico que ha dado como fruto a las nuevas tecnologías y productos que comenzamos a ver en el mercado de cómputo como son: netbooks, las familias de procesadores Sun Microsystems UltraSPARC Tx, Fujitsu SPARC64 Venus, IBM Power7, Cell, Intel Atom, Larrabee y ARM Cortex-A9, GPGPU’s de ATI e Nvidia, y OpenCL.

Durante muchos años la industria de microprocesadores nos quiso vender la idea de que lo único que importaba al comprar una nueva computadora eran los Ghz que ofrecía, y desde hace unos 4 años nos vienen diciendo que lo importante ahora es el número de núcleos. Sin embargo las condiciones del mercado han traído a una nueva generación de usuarios, más preocupados por el costo, el gasto energético, la duración de la batería en equipos móviles y la velocidad con la que sus aplicaciones responden a sus comandos. Provocando una gran innovación, la creación de nuevos mercados y de nuevos productos radicales.

“El número de transistores que puede ser colocado en un chip se duplicará cada 2 años”

Gordon E. Moore

Esto es lo que nos dice la ya famosa ley de Moore, no obstante, aún no sabemos que hacer con todos estos transistores, ¿Cuál es la forma más eficiente de usar estos transistores para procesar X tipo de información? aún nadie lo sabe.

Los Ghz y el procesamiento secuencial
La máquina de Turing nos muestra una forma sencilla de escribir cualquier algoritmo, una operación después de la otra, llevándonos a lo que se conoce como programación secuencial; el paradigma de desarrollo de software más exitoso, adoptado por la industria del software a nivel mundial y donde se han invertido hasta hoy en día billones de dolares en la creación de software bajo este principio elemental.

Esto impulso a los fabricantes de chips a crear procesadores cuyo objetivo principal era ejecutar lo más rápidamente posible este tipo de programas. Todo el diseño de estos chips se basaba en su capacidad para ejecutar una o más instrucciones cada vez que un reloj central hacía un tick-tack, y buscando que cada vez, todo el sistema se moviera al ritmo de relojes más y más rápidos, llevándonos a una vertiginosa carrera por frecuencias de reloj más altas. Más Ghz.

Ejecutar este tipo de programas no resultó fácil, ni tampoco eficiente. Diseñadores de procesadores tuvieron que recurrir a toda una serie de ingeniosos métodos para ejecutar instrucciones más rápidamente: pipelines, out of order execution, caches, branch prediction, speculative execution,… que se enfocaban más en “administrar” el código que en realizar trabajo útil para el programador. Al mismo tiempo, conforme aumentaban las frecuencias de operación, así también aumentaban la temperaturas de los chips, esto provocado por los constantes cambios de estado de los componentes, al ritmo del reloj. Requiriendo continuamente soluciones de enfriamiento más eficientes.

Finalmente las altas temperaturas desaceleraron el ritmo con el que avanzaban los Ghz. Debido no solamente a las altas frecuencias, sino también a las crecientes corrientes de fuga provocadas por las escalas de fabricación tan increíblemente pequeñas de los nuevos chips, a lo que se conoció como la barrera térmica.

Esta nueva limitación provocó grandes fracasos en el mercado de microprocesadores como se vio con el Intel Pentium 4/ Tejas y forzó grandes cambios en la industria. Como podemos apreciar en la última conferencia de Hot Chips 2009, el procesamiento secuencial a muerto, la última linea de procesadores enfocándose en este tipo de arquitecturas, IBM Power, ha preferido dar un cambio de rumbo e ir en la dirección del Throughput-Computing.