por Sklavos Dustin - 11/20/2009
por Dustin Sklavos
Una de las tecnologías principales zumba en este momento es lo que se denomina "computación heterogénea" o "General Purpose GPU" computación. La idea básica detrás de estos términos extraños es que el hardware de gráficos se ha vuelto tan poderoso y flexible que se puede utilizar para hacer algo más que juegos de correr. De hecho, su computadora portátil tarjeta gráfica (GPU) en realidad puede aumentar y correr al lado de la CPU para mejorar sustancialmente el rendimiento del sistema en ciertos casos. Microsoft ya comenzó a aprovechar el poder de procesamiento de gráficos un poco con la interfaz Aero en Windows Vista, pero yo estoy hablando de ir más allá de las tareas inmediatamente visuales.
Nvidia ha sido un gran defensor del uso de la GPU para realizar otras tareas, y han invertido mucho tiempo y la comercialización en la computación GPU ... específicamente con su propio hardware. ATI ha estado jugando un poco de aquí un papel secundario, con su software Stream bajo rendimiento en comparación con CUDA de Nvidia y en ninguna parte cerca de llegar a la penetración en el mercado sigue siendo limitada. Esto está parado a cambiar gracias a Windows 7 y la liberación de más software que aprovecha la corriente.
¿Por qué es esto importante para usted? Esa es una buena pregunta. La respuesta es simple: la velocidad. Al hacer su trabajo GPU junto con su CPU para tareas generales que usted puede llevar a cabo esas tareas en una fracción del tiempo que toma para que la CPU del ordenador portátil para hacerlo solo.
El hecho es que mientras que los usuarios de escritorio y portátiles se beneficiarán de esta tecnología, el poder de procesamiento portátil se encuentra todavía en un poco de una prima, probablemente más de lo que ha sido en algún momento. Intel es actualmente el fabricante de la CPU sólo para ofrecer móviles de cuatro núcleos, pero estos quads todavía consumen mucha energía y generan mucho calor, lo que hace que no sean aptos para la aplicación portátil en general y dejar de lado a las grandes máquinas de reemplazo de escritorio. Para el usuario móvil, siendo capaz de aprovechar algunas de la potencia de procesamiento de una GPU que ordinariamente se encuentra inactivo podría ser una mejora bienvenida.
GPU computing todavía no está muy extendida, pero que viene es ... al menos si Nvidia y AMD tienen algo que decir al respecto.
El trabajo de base
Antes de Windows Vista y DirectX 10, fue en gran parte del hardware de gráficos de función fija y realmente sólo es útil para la representación de gráficos en 3D. Sin entrar en demasiados detalles técnicos acerca de lo que las partes de la GPU hizo, simplemente podemos decir que se dedicó hardware para el manejo de los sombreadores de píxeles, hardware especializado para el manejo de sombreado de vértices y hardware dedicado para el manejo de texturas.
Incluso si Windows Vista y DirectX 10 puede considerarse fallas marginales (DirectX 10 ha sido testigo de penetración en el mercado lamentablemente mínimo), el salto tecnológico que predica DirectX 10 no puede ser subestimada. DX10 hardware de tipo tuvo que cambiar al uso de hardware de sombreado unificado, shaders que podrían manejar vértice pixel, o los nuevos shaders de geometría. Este salto tuvo dos consecuencias importantes.
El primer impacto fue el inmediato: Ahora que los sombreadores de píxeles y vértices son manejados por el mismo hardware, recursos de la GPU podría ser más equilibrada y adecuadamente utilizados en los juegos, lo que resulta en un mejor desempeño y el potencial sin explotar menos en la propia GPU. Antes de DX10, ATI, en particular, había estado jugando un acto de equilibrio tratando de averiguar si una GPU debería tener más shaders de píxeles que el vértice, y cuántos más. Con DX10, esto se convirtió en irrelevante.
El segundo es el impacto de mayor alcance: El hardware de sombreado en sí se volvió sustancialmente más programable para el punto de que ahora se podría utilizar para la computación más generalizada y cálculo en lugar de los gráficos. A pesar de este cambio tiene aplicaciones inmediatas muy pocos, se ondulante gradualmente.
Esto dio lugar a "General Purpose GPU" computación ... y está cambiando el futuro de la PC.
El Presente: CUDA y STREAM
En estos momentos, la computación GPU es bastante limitado. Por lo que el consumidor medio se refiere básicamente hay dos tipos de opciones de computación GPU en el mercado: CUDA de Nvidia y ATI Stream es.
Nvidia ha estado impulsando su plataforma CUDA muy agresiva, pero sus estándares propietarios no tienen ninguna duda limitó su apelación. Voy a admitir que tengo un prejuicio para ATI y AMD, y una gran parte de esto se debe a que mientras que Nvidia ha puesto una gran cantidad de bases de cálculo en la GPU, en general, se han mantenido totalmente patentado con CUDA y tienden a ser bastante agresivo sobre el bloqueo a la competencia. Sin embargo, no se puede subestimar los esfuerzos de Nvidia para que los consumidores conscientes de la computación GPU.
Uno de los mayores triunfos de Nvidia CUDA con ha estado en el Badaboom Elemental software de transcodificación de vídeo, que es capaz de usar los shaders unificados de Nvidia gráficos dedicados para acelerar sustancialmente la codificación de vídeo. Traducción: Puede transferir un archivo de vídeo masiva desde tu ordenador a tu iPod en cuestión de segundos en lugar de una cuestión de minutos.
ATI tiene una aplicación similar con su codificador AVIVO propia (parte de la tecnología ATI Stream), pero las pruebas modernas han demostrado que ATI Stream produce resultados finales un tanto inferiores a CUDA de Nvidia. Sin embargo, la codificación de vídeo es una tarea que puede tomar una cantidad considerable de tiempo y poder de procesamiento, y con más gente transcodificación de videos descargados en Internet para su uso en teléfonos iPhone, PSP, Zunes, y así sucesivamente, es una aplicación práctica de la tecnología.
La otra gran victoria a nivel de consumidor Nvidia tuvo con CUDA ha sido su middleware PhysX de Ageia PhysX anteriormente. PhysX se utiliza para acelerar cálculos de la física en los juegos que lo soportan (juegos como Mirror Edge y Batman: Arkham Asylum) y puede producir una experiencia de juego mejorada notablemente. El punto clave aquí es que mientras la tecnología se está utilizando en un juego, la propia GPU también está realmente en contacto con los cálculos de primas física (tradicionalmente sólo manejado por el CPU).
Todo esto está haciendo caso omiso de los avances más importantes Nvidia CUDA y han hecho en los sectores empresarial y educativo, donde se utiliza hardware de Nvidia para acelerar todo tipo de cálculos diferentes. Estas aplicaciones no son tan relevantes para usted, sino que existen como prueba de concepto.
Stream de AMD / ATI 's ha conseguido una aceptación algo menor, pero el marketing nunca ha sido el fuerte de AMD. Yo los quiero mucho, pero los beneficios de Stream simplemente no están recibiendo prensa tanto como CUDA. Actualmente sólo puedo nombrar la mediocre en el local de vídeo codificador AVIVO y ArcSoft TotalMedia Theatre como el software que utiliza Stream y TotalMedia Theatre también pueden utilizar CUDA para las mismas tareas.
Lo que usted termina con una especie de tenue situación en la que Nvidia ha hecho un bote lleno de juego de piernas para tratar de normalizar la computación GPU, y mientras que su cabeza está en el lugar correcto, su corazón no lo es. Nvidia es más o menos bloqueo PhysX a los chips de Nvidia CUDA y empujando como un estándar propietario en lugar de tratar de desarrollar algo que funcione en todos los ordenadores. Este tipo de enfoque tiende a ser miope y amenaza con poner fin a lo que sería una nueva tecnología popular.
El futuro: OpenCL y DirectCompute
Por supuesto, todavía hay mucho potencial para computación GPU. Dos estándares abiertos se han materializado y están siendo gradualmente aceptado ... normas que se pueden ejecutar en cualquier hardware compatible de ATI o Nvidia: OpenCL y DirectCompute.
OpenCL es manejado por el Grupo Khronos, la misma asociación que (mal) se encarga de la plataforma OpenGL, OpenCL, pero se ha integrado en la versión más reciente de Mac OS X de Apple, Snow Leopard. ATI o Nvidia gráficos hardware puede ejecutar código OpenCL, y no hay razón para creer que OpenCL no serán utilizados. OpenCL es más agnóstico plataforma y código OpenCL se puede ejecutar en Linux o Windows además de Mac OS X.
La otra norma es DirectCompute, que viene parte y parcela con DirectX 11, que a su vez viene con Windows 7 (y estará disponible en Windows Vista también). Como parte del paquete de DirectX 11, DirectCompute tiene la ventaja de una mayor visibilidad para los programadores en el entorno de Windows y permite algunos cálculos adicionales impresionantes incluso dentro de los juegos, similares a PhysX, pero con una flexibilidad aún mayor.
Lo más importante a destacar es que ahora hay dos predilección por ningún proveedor estándares establecidos para el cómputo GPU que se espera que conduzcan al uso generalizado de la computación GPU de los portátiles en 2010. Presupuesto usuarios de portátiles, en particular, puede que desee tomar nota: si anteriormente a pesar de que estaba bien para comprar un ordenador portátil con gráficos integrados de Intel que por fin pueden tener una razón para comprar un ordenador portátil con tarjeta gráfica dedicada.
Conclusión
En todo esto, la comida para llevar grande es que el hardware de gráficos está creciendo más allá de su propósito original. La GPU se está convirtiendo en un coprocesador útil capaz de hacer algo muy impresionante trabajo pesado. Esto sirve para utilizar más plenamente el hardware disponible en los portátiles modernos. GPU computing tiene el potencial de ofrecer otro gran paso adelante en el rendimiento general y reforzar las "laptops", como estaciones de trabajo móviles que valen la pena ... sin importar si usted está usando un viejo de 17 pulgadas portátil para juegos o un nuevo ultraportátil de 12 pulgadas con gráficos de nivel de entrada discretos.
Lo mejor de todo es el precio. Los usuarios que ya cuentan con el hardware de mano capaz de utilizar OpenCL (Nvidia de la serie 8 y posteriores, ATI Radeon HD 4000-series y posteriores) o DirectCompute (Nvidia de la serie 8 y posteriores, ATI Radeon HD 2000-series y posteriores) disfrutarán este aumento de la funcionalidad sólo mediante la actualización de sus controladores de vídeo.
Durante el próximo año o así que usted puede esperar para ver el software que se aprovecha de la aceleración de GPU poco a poco saliendo de la nada ... una razón más para comprar portátiles con gráficos discretos.
No hay comentarios:
Publicar un comentario