Posts etiquetados con ‘CPU’

Semana Grande de la Supercomputación: Top500 y premios NVIDIA a centros educativos y de investigación

Adelantábamos en el último post de las previsiones de supercomputación que Noviembre tenía una de las fiestas bianuales de la supercomputación, la del Top500. Así ha sido, pero aún hay más: se han anunciado los nuevos NVIDIA CUDA Teaching/Research Centers con 3 incorporaciones nacionales, la Universidad de Valladolid, la Universidad de Sevilla y la Universidad Rey Juan Carlos.

Celebrándose la Supercomputing Conference 2014 en Nueva Orleans, EEUU, se anunció el pasado martes el ranking de noviembre del Top500. Por cuarta vez consecutiva, Tianhe-2 mantuvo el liderazgo (2 años completos, con las 4 actualizaciones correspondientes de las que hemos dado cuenta por estas líneas). Estados Unidos bajó en 2 instalaciones de su lista en el Top500 (llegando a 231 instalaciones y siendo líder en número de supercomputadores del ranking, casi la mitad de todos) y las europeas subieron en 14 hasta 130. A finales de la semana pasada se anunciaba a bombo y platillo la ayuda económica que NVIDIA e IBM recibirían para hacer posible en el plazo de 3 años dos supercomputadores de entre 2-10 veces más potente que el actual #1. Para ello, se valdrían de procesadores PowerPC9 y aceleradores NVIDIA Tesla k80 de futura generación, basados en la familia Volta, nombre dedicado al físico italiano Alessandro Volta, inventor de la batería, por la extremada eficiencia energética de dicha familia. IBM ya tiene grandísima experiencia en el diseño de estos supercomputadores, no tanto NVIDIA a pesar de que su tecnología CUDA esté presente en 2 de las 10 instalaciones más potentes del citado ranking.

NVIDIA también anunció sus nuevos CUDA Teaching Centers (CTC) y CUDA Research Centers (CRC), galardones a los centros que mantienen en sus planes docentes o investigaciones multidisciplinares materia ligada con la tecnología NVIDIA CUDA. Nos complace anunciar que entre sus nuevos CTCs  tenemos a la Universidad de Valladolid y a la madrileña Universidad Rey Juan Carlos (la que acoge nuestro día a día), por nuestro afán de atraer nueva tecnología a las aulas de las titulaciones de la Escuela Técnica Superior de Ingeniería Informática. Así, Madrid tiene 3 centros (UAM, UPM y URJC) de los 10 de toda España. Este galardón conlleva una donación de material de última generación para su uso en las clases y talleres de las titulaciones que así lo requieran o seminarios a la comunidad científica del centro, cuyos investigadores implicados se comprometen a impartir. También es importante citar la entrada de la Universidad de Sevilla como CRC haciendo 6 centros españoles.

NVIDIA CUDA es una tecnología de cómputo paralelo que aprovecha la gran potencia de cálculo de las tarjetas gráficas (en realidad de su procesador, GPU, de unidad de procesamiento gráfico) para acelerar la ejecución de aplicaciones científicas. Surge como forma de simplificar la programación de estos procesadores especiales, al igual que existen lenguajes de programación (C, Pascal, Fortran, Java,…) para los tradicionales procesadores centrales (CPUs, de unidades de procesamiento centrales), en los que siempre se han ejecutado las aplicaciones. En determinados casos, en los que la gran independencia de los datos a procesar y la cantidad de ellos son enormes, la potencia de las GPUs puede superar con creces a la de la CPU, además de ser energéticamente más eficientes por estrategias de diseño. NVIDIA CUDA surgió en 2007 gracias al increíble éxito que tuvieron los primeros programas que, haciendo uso de la potencia del procesador gráfico, mejoraban el rendimiento y se volvían más rápidos. Algunas de las nociones para entender este éxito lo pusimos por este blog hace unos años. Actualmente, esta tecnología está soportada por toda la gama de procesadores gráficos de NVIDIA, desde sus tarjetas gráficas más domésticas de apenas unas decenas de euros, hasta sus aceleradores de supercomputación más potentes de varios miles.

 

Etiquetas: , , , , , , , ,

4004@40: El 40 aniversario del primer microprocesador

Hoy es el 40 aniversario del considerado como primer microprocesador de consumo, y así se recoge por la prensa especializada. El microprocesador Intel 4004, originariamente incluido como motor de una calculadora, fue el inicio de la escalada de Intel, que partió con el nombre NM Electronics (de Bob Noyce y Gordon E. Moore, sus fundadores) en 1968. Hoy el gigante le ha dedicado un microsite al 4004 que puedes ver aquí.

Al año siguiente, 1972, y ya con tecnología de 8 bits, aparecía el Intel 8008 listo para embarcarse en un computador. Aunque no sería hasta 1974 cuando realmente se empezaron a fabricar procesadores para ordenadores de propósito general con el mítico Intel 8080. Poco después se dió paso a las primeras arquitecturas de 16 bits de gran aceptación en el mercado (Intel 8086 y 8088), y de ahí a las de 32 bits aún presentes en muchos computadores domésticos.

Hoy la tendencia en los computadores de consumo (muy comentada en este blog) es la clara apuesta por los procesadores de múltiples núcleos de procesamiento. En 2005 empezaron a comercializarse los dos núcleos en un mismo chip (comentado en este post) y ahora se anuncian las primeras tablets con hasta 4 núcleos de procesamiento con la versión 3 de Nvidia Tegra (comentada la primera versión aquí en 2009). Estos días se puede leer la noticia del superchip de 50 núcleos de Intel, el Knights Corner, del que si queréis podremos seguir por este blog.

Felicidades Intel.

Imagen de previsualización de YouTube

 

Enlaces sobre la noticia:

http://www.intel.com/about/companyinfo/museum/exhibits/4004/docs.htm

http://www.xataka.com/componentes-de-pc/intel-4004-cuarenta-anos-para-la-historia

http://www.extremetech.com/computing/105029-intel-4004-the-first-cpu-is-40-years-old-today

Etiquetas: , ,
Categorias: General, Hardware

AMD Fusion: ¿una nueva generación de procesadores a corto plazo?

Llevábamos meses esperando noticias sobre una arquitectura híbrida de CPU y GPU que con la absorción del fabricante de procesadores gráficos ATI por parte de AMD en julio de 2006 no tendría que haberse hecho esperar mucho. Sin embargo, al igual que en el caso del Intel Larrabee que ya tratamos en el blog, los rumores de su salida han alimentado más si cabe la esperada arquitectura híbrida. Parece que la salida podría ser el próximo año.

El pasado 6 de febrero, AMD presentó en COMPUTEX Taipei 2010 una nueva familia de procesadores de propósito general bajo el nombre AMD Fusion. Estos procesadores, también conocidos con el nombre de APUs (Accelerated Processing Units) combinan en un mismo chip un procesador con múltiples núcleos de procesamiento basados en una arquitectura x86 (CPU), junto con un procesador vectorial (GPU).  La novedad se basa por tanto en que la GPU estará integrada en el propio microprocesador. La finalidad de estas APUs se encuentra en la aceleración de aplicaciones multimedia y de procesamiento vectorial (reconocimiento de gestos, voz, conversión de contenido 2D en 3D, etc.), tratando de mantener al mismo tiempo cierto compromiso con el consumo energético. Recientemente se hicieron demostraciones públicas del rendimiento de la plataforma.

AMD-Fusion-Analyst-CPU_GPU

Por otro lado, la reciente aparición de herramientas como DirectCompute y OpenCL simplifica en gran medida la programación de este tipo de arquitecturas. Así mismo, se espera que AMD Fusion sea compatible con Windows 7 y DirectX 11. Su aparición en el mercado está prevista para 2011, y en un principio está pensada su inclusión en dispositivos portátiles, permitiendo afrontar tareas con un elevado coste computacional, sin que esto repercuta de forma notable en el tiempo de vida de las baterías.

AMD-Fusion-Analyst-ventajas

Etiquetas: , , ,
Categorias: General

Cinco años desde la aparición de los ordenadores “multicore”

En 2010 se hacen cinco años desde que se lanzaron al mercado los primeros sistemas de varios núcleos de procesamiento. Básicamente todo programa sobre una plataforma de consumo anterior se ejecutaba a una cierta velocidad debido a la frecuencia de reloj a la que se sometía el procesador. Todos hemos sido testigos de los aumentos en las prestaciones de los equipos, desde 1 MHz, 16 MHz, 20 MHz (¿os acordáis del botón turbo?), 33 MHz, 233MHz, 900MHZ, 1.2GHz, 2.0GHz, 2.4GHz, 3.0GHz, 3.2 GHz, 3.6GHz y muchos otros valores intermedios. Un mismo programa mejoraba sus prestaciones y su ejecución era más rápida, el videojuego era más interactivo o la gráfica se calculaba más rápidamente. En 2005 se empezaron a lanzar procesadores de consumo que incluían 2 núcleos de cómputo. Compartían ciertos recursos hardware pero de manera eficiente se podían ejecutar 2 programas simultánemente sin compartir tiempo de procesador, o que un mismo programa se ejecutara desde 2 núcleos de procesamiento. La pregunta ahora sería, ¿ha cambiado mucho desde entonces?

compaq386sx25

Quizá la respuesta sea que no demasiado, no hemos sido testigos de grandes mejoras en el rendimiento de una misma aplicación porque ha habido dos barreras importantes. Una es que a mayor número de núcleos, resultaba más eficiente mantener la frecuencia de reloj por debajo de sus máximos históricos, y la segunda es que los programas no estaban preparados para ejecutarse desde dos núcleos de procesamiento relativamente independientes. Lo que sí que hemos podido percibir es que pudiéramos ejecutar más aplicaciones sobre un mismo equipo. Inicialmente, los primeros multinúcleos o multicores estaban basados en dos unidades de procesamiento y poco a poco se reemplazará toda la base instalada para alojar dual cores , quad cores, hexa cores, etc. Será entonces cuando la mentalidad de todo desarrollador se vea modificada, y necesariamente los programas se desarrollen para trabajar con los varios núcleos de cómputo de la plataforma estándar.

Las herramientas de consumo para el desarrollo de software están incluyendo progresivamente soporte para la programación paralela, el cambio está a la vuelta de la esquina. Dejamos al lector un enlace interesante que habla de esto mismo: http://www.drdobbs.com/go-parallel/blog/archives/2010/03/think_parallel_1.html

Etiquetas: , , ,
Categorias: General

Universo Paralelo de Intel

No es la última película de ciencia ficción, de hecho no hablamos del futuro, sino del presente. En este blog ya se han hecho múltiples referencias sobre el potencial problema que trae consigo que las arquitecturas de cómputo (los ordenadores) evolucionen de una manera que no se había augurado hace una década (ver ejemplo). En lugar de ser más rápidos, cada vez son más paralelos, capaces de realizar tareas simultaneamente pero no necesariamente más rápido si dichas tareas son independientes. Si las tareas son dependientes, o directamente es solo una, entonces se puede incrementar la velocidad final de la solución dividiendo el problema y resolviéndolo de forma parcial desde diferentes núcleos de cómputo (cores). Sin embargo, esta división en general no es automática, y el programador debe ser consciente de ello para poder sacar partido a los nuevos sistemas de cómputo.

El fabricante de procesadores Intel lleva un tiempo interesado en concienciar a los programadores en las nuevas necesidades y buenas prácticas de programación con vistas al presente y futuro inmediato. En este sentido ha lanzado un servicio web de exploración de código denominado Intel Parallel Universe. La herramienta está disponible desde http://paralleluniverse.intel.com/ y está pensada para recabar información de manera automática de un código fuente de un programa informático para conocer su posible escalabilidad en plataformas de varios núcleos de cómputo. De hecho, el sistema ofrecerá gráficas para mostrar la escalabilidad (lo bien que se portará la aplicación) en sistemas de 1, 2, 4, 8 y 16 núcleos de cómputo. El uso de la herramienta es gratuito, solamente se necesita estar registrado y subir los códigos (de menos de 20MB) en versión final de 32 bits. Intel ha anunciado que en breve estará disponible para otras plataformas.

Dejo por aquí un vídeo demostrativo:

Imagen de previsualización de YouTube
Etiquetas: , , ,
Categorias: General