Download Compute Unified Device Architecture [CUDA]

Document related concepts
no text concepts found
Transcript
NVIDIA CUDA
Compute Unified Device Architecture [CUDA]
La tecnología CUDA es el único entorno, [Herramientas de desarrollo y compilador]
basado en el lenguaje C que permite a los programadores escribir software para
resolver problemas computacionales complejos en menos tiempo aprovechando la
gran capacidad de procesamiento paralelo de las GPUs multinúcleo. Miles de
programadores están utilizando ya las herramientas gratuitas de desarrollo de CUDA
válidas para millones de GPUs ya instaladas en el mercado, a fin de acelerar todo tipo
de aplicaciones, desde herramientas de codificación de audio y vídeo, hasta software
para la exploración de gas y petróleo, el diseño de productos, la generación de
imágenes en medicina o la investigación científica.
Características de la tecnología.
-
Lenguaje C estándar para el desarrollo de aplicaciones de procesamiento en la
GPU.
Librerías numéricas estándar para FFT (Fast Fourier Transform) y BLAS
(Basic Linear Algebra Subroutines).
Controlador CUDA dedicado al cálculo con comunicación de datos de alta
velocidad entre la GPU y la CPU.
El controlador de CUDA interacciona con los controladores de gráficos
OpenGL y DirectX.
Compatibilidad con sistemas operativos Linux de 32/64 bits, Windows XP de
32/64 bits, y Mac.
La tecnología NVIDIA CUDA es el único entorno de programación en C que
aprovecha la gran capacidad de procesamiento de las GPUs para resolver los
problemas de cálculo más complejos y de mayor carga computacional. Las
herramientas de desarrollo CUDA están formadas por tres componentes
fundamentales para ayudar al programador a iniciarse en este lenguaje:
1. El último controlador CUDA.
2. Un kit de herramientas completo.
3. Ejemplos de código del SDK de CUDA.

El Toolkit de CUDA es un entorno de desarrollo en lenguaje C diseñado
para las GPUs compatibles con la tecnología CUDA
AMD Fusion.
AMD Fusion es el nombre clave de la futura nueva generación de diseño de
microprocesadores producto de la uni´de AMD y ATI, combinando la ejecución
general de procesos y el procesamiento de geometrías 3D y otras funionalidades de
las GPUs modernas en un solo paquete. La unión de AMD con ATI se cerró a final de
octubre del 2006. Esta tecnología se espera que debute en la segunda mitad del 2011
como sucesora de las últimas microarquitecturas.
Información preliminar.
Una arquitectura de procesador multicore heterogénea, combinada con un núcleo/s
con procesador multipropósito y otro núcleo con procesador gráfico básico, todo
integrado en un procesador único con señales de reloj para el núcleo gráfico y el
núcleo central de proceso.
Hay 4 plataformas de enfoque según los 4 aspectos de uso:
* Propósito General
* Centrado en Datos
* Centrado en Gráficos
* Centrado en Multimedia.
Las series de procesadores Fusion mostrarán un nueva metodología modular llamada
‘M-SPACE’, con el cual los diseños de procesadores multicore tendrán un rango más
amplio de combinaciones así como una flexibilidad mejorada, y así minimizar las
diferentes combinaciones de componentes. Esta iniciativa de AMD beneficia los
cambios de núcleo gráfico sin necesidad de rediseñar todo el núcleo.
Los productos Fusion incluirán por lo menos 16 puertos PCI Express,
presumiblemente la versión 2.0.
La implementación del UVD en silicio para la decodificación totalmente por
hardware del MPEG-2, VC-1 y H.264 streams de video en el software soportado.
El primer diseño de Z-RAM en tecnología de fabricación de 45nm se completó en
2006 junto con la renovación de la licencia de Z-RAM. También coincide con el
‘roadmap’ oficial de AMD para caches L3 más grandes antes del 2009. Así que se
rumorea que AMD destacará la Z-RAM para caches más grandes en los productos
Fusion.
Un nuevo set de instrucciones y librerias de desarrollo se han desarrollado para
Fusion, se reveló que sería una nueva secuela de las SSE, la SSE5.
Habrá 2 implementaciones:
-Falcon: Originalmente su nombre era Procesador con Núcleos ‘Bulldozer’
enfocados al mercado de sobremesa con un TDP de entre 10 y 100 W. de TDP
(Thermal Design Power). Una opción de implemetarlo en telefonos móviles, UMPC
(Ultra-Mobile PC) y pequeños dispositivos multimedia, con el nombre de Procesador
con Núcleos ‘Bobcat’ enfocados para bajo consumo de entre 1 y 10 W. de TDP
(Thermal Design Power).
-Swift: basado en el llamado Núcleo ‘Stars CPU’ (Arquitectura K10) hecha
con proceso de 45nm. En vez del núcleo ‘Bulldozer’ y ‘Bobcat’.
Enfocado al mercado de portatiles, con un núcleo GPU en el mismo dado que la CPU
nativa y 2 variantes posibles:
- White Swift: Núcleo de CPU único.
- Black Swift: Núcleo de CPU dual.
Soporte para DDR3
Tecnología UVD para decodificación de video por hardware.
Nuevas interconexiones ‘Onion’.
Nuevo interfaz de memoria ‘Garlic’ para lecturas de la memoria de la GPU con
retardo reducido.
Intel Nehalem
Nehalem es el nombre clave para el procesador de microarquitectura de Intel, sucesor
del Core Microarquitectectura. El primer procesador que uso la arquitectura Nehalem
fue el sobremesa ‘Core i7’, Noviembre 2008. Servidores y portatiles basados en
procesadores Nehalem lo seguirán en 2009 y 2010.
Los primeros procesadores Nehalem usaron la misma tecnología de 45nm que
Penryn. La arquitectura tma su nombre del rio Nehalem que a su vez lo toma de una
tribu de nativos americanos, en Oregon. Y el nombre en si aparece al final de muchas
‘roadmaps’ del 2000. En esa fase se suponían que iba a ser la ultima evolución de la
arquitectura ‘NetBurst’. Desde el abandono de ‘NetBurst’, el nombre ha sido
reciclado y se refiere a otro proyecto distinto.
Tecnología.
Especificaciones de los procesadores de la familia Nehalem:
2,4 u 8 núcleos.
731Millones de transistores en la variante ‘Quad Core’.
Tecnología de 45nm.
Controlador de memoria integrado con soporte para 2 o 3 canales de memoria DDR3
SDRAM o 4 canales FB-DIMM.
Un nuevo procesador de interconexión ‘point-to-point’, el ‘Intel QuickPath
Interconnect’, que sustituye al ‘front side bus’.
Algunos procesadores Nehalem implementan DMI en vez FSB y eliminan el
‘northbridge.
Multithreading simultaneo por multiples núcleos, y Hyperthreading, el cual habilita 2
threads por núcleo.
Multithreading simultaneo no ha aparecido en los procesadores de Intel a nivel
consumidor hasta 2006 con el Pentium4 y Pentium XE.
Procesadores quad y octo-core monoliticos (núcleos integrados en un mismo dado).
Las siguientes caches:
-32KB instrucciones y 32KB L1 cache de datos por núcleo.
-256KB L2 cache por núcleo.
-2-3MB L3 cache por núcleo y compartida con todos los núcleos.
33% mas de ‘in-flight’ microoperaciones que el Corroe.
Predictor de saltos de segundo nivel y ‘Translation Lookaside Buffer’ de segundo
nivel.
Bloques modulares de componentes como núcleos que puede añadirse o quitarse
según al segmento de mercado variable al que vaya dirigido.
Prestaciones y mejoras de potencia.
Nehalem se ha enfocado hacia prestaciones, lo que ha aumentado el tamaño del
núcleo comparando con Penryn. Nehalem tendrá:
-1.1x – 1.25x en comportamiento de thread único o 1.2x – 2x en
comportamiento multithreading al mismo nivel de potencia.
-30% menos de consumo de potencia para el mismas prestaciones.
-20-30% ventaja media sobre el Penryn con solo un 10% más de consumo de
potencia.
-Núcleo inteligente, reloj a reloj, Nehalem supondra de un 15-20% de aumento
de prestaciones frente al Penryn.
El procesador Nehalem ‘Gainestown’ tiene 1,6x SPECfp_rate_2006 en enteros
y 2,4x SPECfp_rate_2006 en punto flotante de un procesador XEON QuadCore de 3.0GHz X5365 ‘Clovertown’.
El sistema Nehalem ‘Bloomfield’ de 2,93GHz se uso para ejecutar un
3DMark Vantage Benchmark y dio una puntuación de 17.966. La variante de
2,66GHz puntuó 16.294. Un Core 2 Duo E6600 a 2,4GHz puntuó 4.300.
El test al Intel QuickPath Interconnect (versión de 4,8 GT/s) mostró un ancho
de banda al copiar usando triple canal 1066MHz DDR3 de 12.0 GB/s. Un
sistema Core 2 Duo a 3.0GHz usando doble canal 1066MHz DDR3 logró
6,9GB/s.
El ‘overclocking’ será posible con el procesador ‘Bloomfield’ y el chipset
x58. El procesador ‘Lynnfield’ y ‘Havendale’ usan un PCH eliminando la
necesidad de un chipset ‘northbridge’.
Los procesadores Nehalem son los primeros en incorporar las instrucciones
SSE4.2 SIMD, añadiendo 7 nuevas instrucciones a las disponibles en el
SSE4.1 para las series Core 2.
Sucesor.
Westmere o más formálmente Nehalem-C, es el nombre del encogimiento a
32nm del Nehalem. Estará listo para 2009 suponiendo que Intel mantenga el
objetivo en su ‘roadmap’. De todas maneras parece que el grueso de las
versions del Westmere, excluyendo las versions portatiles aparecerán en el
2010.
Las mejoras del Nehalem serán:
-Tecnología de 32nm.
-Procesadores 6-Core (o más, aparentemente Sexa-Core)
-Un Nuevo juego de instrucciones que ofrece 3x en grado de
encriptación y desencriptación de procesos AES comparado con los
anteriores.
-AES-NI puede ser incluido en la gráfica integradad del Westmere.
-Virtualización del retardo mejorado.
El sucesor de Westmere sera Sandy Bridge (32nm), programado para el 2010
de acuerdo con los roadmaps de Intel. Y a su vez Haswel (22nm) sucederá a
Sandy Bridge en el 2012. Y vendra con un subsitema de cache Nuevo, una
unidad FMA y un coprocesador vectorial.