De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Una unidad de procesamiento de física ( PPU ) es un microprocesador dedicado diseñado para manejar los cálculos de la física , especialmente en el motor de física de los videojuegos . Es un ejemplo de aceleración por hardware .

Ejemplos de cálculos que implican una PPU podrían incluir la dinámica de cuerpo rígido , dinámica blandas del cuerpo , la detección de colisiones , la dinámica de fluidos , el cabello y la simulación de la ropa , análisis de elementos finitos , y la fracturación de los objetos.

La idea es que los procesadores especializados descarguen tareas que consumen mucho tiempo de la CPU de una computadora, de manera muy similar a cómo una GPU realiza operaciones gráficas en el lugar de la CPU principal. El término fue acuñado por Ageia para describir su chip PhysX . Varias otras tecnologías en el espectro CPU-GPU tienen algunas características en común con él, aunque el producto de Ageia fue el único completo diseñado, comercializado, soportado y colocado dentro de un sistema exclusivamente como PPU.

Historia [ editar ]

Un proyecto de investigación académico inicial de PPU [1] [2] llamado SPARTA (simulación de física en una arquitectura en tiempo real) se llevó a cabo en Penn State [3] y la Universidad de Georgia. Este era un PPU simple basado en FPGA que estaba limitado a dos dimensiones. Este proyecto se amplió a un sistema basado en ASIC considerablemente más avanzado llamado HELLAS.

Febrero de 2006 vio el lanzamiento de la primera PPU PhysX dedicada de Ageia (luego se fusionó con nVidia ). La unidad es más eficaz en la aceleración de sistemas de partículas , con solo una pequeña mejora de rendimiento medida para la física de cuerpos rígidos. [4] El Ageia PPU está documentado en profundidad en su solicitud de patente de EE. UU. # 20050075849. [5] Nvidia / Ageia ya no produce PPU ni aceleración de hardware para el procesamiento de física, aunque ahora es compatible con algunas de sus unidades de procesamiento de gráficos.

  • Proyectos de investigación académicos de PPU
  • Ejemplo de animación SPARTA

  • Placa de circuito impreso SPARTA

  • Hellas muere foto

AGEIA PhysX [ editar ]

El primer procesador que se anunció como PPU se llamó chip PhysX , presentado por una empresa de semiconductores sin fábrica llamada AGEIA . Los juegos que deseen aprovechar PhysX PPU deben utilizar el PhysX SDK de AGEIA (anteriormente conocido como NovodeX SDK).

Consiste en un núcleo RISC de propósito general que controla una serie de procesadores VLIW de punto flotante SIMD personalizados que trabajan en memorias bancarias locales, con una estructura de conmutación para administrar las transferencias entre ellos. No hay jerarquía de caché como en una CPU o GPU.

El PhysX estaba disponible en tres compañías de manera similar a la forma en que se fabrican las tarjetas de video . ASUS , BFG Technologies , [6] y ELSA Technologies fueron los principales fabricantes. Los fabricantes de sistemas como Alienware , Dell y Falcon Northwest disponían de PC con las tarjetas instaladas . [7]

En febrero de 2008, después de que Nvidia comprara Ageia Technologies y finalmente cortara la capacidad de procesar PhysX en las GPU AGEIA PPU y NVIDIA en sistemas con GPU ATi / AMD activas, parecía que PhysX se pasó al 100% a Nvidia. Pero en marzo de 2008, Nvidia anunció que haría de PhysX un estándar abierto para todos, [8] por lo que los principales fabricantes de procesadores gráficos tendrán soporte PhysX en las tarjetas gráficas de próxima generación. Nvidia anunció que PhysX también estará disponible para algunas de sus tarjetas gráficas lanzadas simplemente descargando algunos controladores nuevos.

Ver motor de física para una discusión de proyectos de investigación académica PPU.

Especificaciones de hardware PhysX P1 (PPU) [ editar ]

ASUS y BFG Technologies compraron licencias para fabricar versiones alternativas de la PPU de AGEIA, PhysX P1 con 128 MB de GDDR3:

  • Dispositivo multinúcleo basado en la arquitectura MIPS con hardware de aceleración física integrado y subsistema de memoria con "toneladas de núcleos" [9] [10]
    • 125 millones de transistores [11]
    • Tamaño de matriz de 182 mm 2
    • Proceso de fabricación: 130 nm
    • Consumo máximo de energía: 30 W
  • Memoria: 128 MB de RAM GDDR3 con interfaz de 128 bits
  • PCI 3.0 de 32 bits (ASUS también hizo una tarjeta de versión PCI Express )
  • Esfera pruebas de colisión: 530 millones por segundo (capacidad máxima)
  • Pruebas de colisión convexa : 530.000 por segundo (capacidad máxima)
  • Ancho de banda máximo de instrucción: 20 mil millones por segundo

Havok FX [ editar ]

El Havok SDK es un competidor importante del PhysX SDK, utilizado en más de 150 juegos, incluidos títulos importantes como Half-Life 2 , Halo 3 y Dead Rising . [12]

Para competir con PhysX PPU, una edición conocida como Havok FX debía aprovechar la tecnología multi-GPU de ATI ( AMD CrossFire ) y NVIDIA ( SLI ) utilizando tarjetas existentes para acelerar ciertos cálculos físicos. [13]

Havok divide la simulación física en efectos y física del juego , y la física del efecto se descarga (si es posible) a la GPU como instrucciones de Shader Model 3.0 y la física del juego se procesa en la CPU de forma normal. La distinción importante entre los dos es que la física del efecto no afecta el juego (polvo o pequeños escombros de una explosión, por ejemplo); la gran mayoría de las operaciones físicas todavía se realizan en software. Este enfoque difiere significativamente del PhysX SDK, que mueve todos los cálculos a la tarjeta PhysX si está presente.

Desde la adquisición de Havok por Intel , Havok FX parece haber sido archivado o cancelado. [14]

PPU frente a GPU [ editar ]

El impulso hacia GPGPU ha hecho que las GPU sean más adecuadas para el trabajo de una PPU; DX10 agregó tipos de datos enteros, arquitectura de sombreado unificada y una etapa de sombreado de geometría que permite implementar una gama más amplia de algoritmos; Las GPU modernas admiten sombreadores de cálculo, que se ejecutan en un espacio indexado y no requieren ningún recurso gráfico, solo búferes de datos de uso general. NVidia CUDA proporciona un poco más de comunicación entre subprocesos y espacio de trabajo estilo scratchpad asociado con los subprocesos.

No obstante, las GPU se basan en una mayor cantidad de latencias más largas, subprocesos más lentos y están diseñadas en torno a las rutas de datos de textura y framebuffer, y un rendimiento de ramificación deficiente; esto los distingue de PPU y Cell por estar menos optimizados para hacerse cargo de las tareas de simulación del mundo del juego.

El compilador Codeplay Sieve es compatible con PPU, lo que indica que el chip Ageia physX sería adecuado para tareas de tipo GPGPU. Sin embargo, parece poco probable que Ageia persiga este mercado.

Intel Xeon Phi [ editar ]

Al igual que Cell, Xeon Phi se encuentra entre la CPU y la GPU, en el espectro entre el procesamiento de propósito general versus el procesamiento de back-end especializado de alto rendimiento. Esto usa cachés en lugar de blocs de notas , pero aún logra lograr un alto rendimiento.

AMD ha declarado su intención a largo plazo de permitir que las APU de AMD usen Radeon como un coprocesador vectorial, compartiendo recursos como la jerarquía de caché . Esta configuración futura comenzó a materializarse en forma de Arquitectura de Sistema Heterogéneo .

PS2 - VU0 [ editar ]

Aunque es muy diferente de la PhysX, se podría argumentar la PlayStation 2 's VU0es una implementación temprana y limitada de una PPU. Por el contrario, se podría describir una PPU a un programador de PS2 como un reemplazo evolucionado de VU0. Su conjunto de funciones y ubicación dentro del sistema está orientado a acelerar las tareas de actualización del juego, incluidas la física y la inteligencia artificial; puede descargar dichos cálculos trabajando desde su propio flujo de instrucciones mientras la CPU está operando en otra cosa. Sin embargo, al ser un DSP, depende mucho más de la CPU para realizar un trabajo útil en un motor de juego, y no sería capaz de implementar una API de física completa, por lo que no puede clasificarse como PPU. Además, VU0 es capaz de proporcionar potencia de procesamiento de vértices adicional, aunque esto es más una propiedad de las vías del sistema que de la unidad en sí.

Este uso es similar a la física de Havok FX o GPU en el sentido de que la potencia de punto flotante de propósito general de una unidad auxiliar se utiliza para complementar la CPU en funciones gráficas o físicas.

Ver también [ editar ]

  • PhysX
  • adapteva
  • CÉLULA
  • Procesador de señal digital
  • Computación de propósito general en unidades de procesamiento de gráficos (GPGPU): para aplicaciones de GPU existentes a los mismos problemas físicos para los que están diseñadas las PPU
  • Estudio de robótica de Microsoft
  • OpenCL
  • Capa de abstracción física
  • Scratchpad RAM : relevante para la arquitectura de memoria distribuida de Ageia PhysX PPU
  • Unidad de procesamiento de visión

Referencias [ editar ]

  1. ^ S. Yardi, B. Bishop, T. Kelliher, " HELLAS: Una arquitectura especializada para el modelado interactivo de objetos deformables ", Conferencia Sureste de ACM, Melbourne, FL, 10-12 de marzo de 2006, págs. 56-61.
  2. ^ B. Bishop, T. Kelliher, " Hardware especializado para modelado de objetos deformables ", Transacciones IEEE en circuitos y sistemas para tecnología de video, 13 (11): 1074-1079, noviembre de 2003.
  3. ^ "Página de inicio de SPARTA" . Cse.psu.edu. Archivado desde el original el 30 de julio de 2010 . Consultado el 16 de agosto de 2010 .
  4. ^ "Exclusivo: ASUS estrena hardware AGEIA PhysX" . AnandTech . Consultado el 16 de agosto de 2010 .
  5. ^ "Solicitud de patente de Estados Unidos: 0050086040" . Appft1.uspto.gov . Consultado el 16 de agosto de 2010 .
  6. ^ "Copia archivada" . Archivado desde el original el 26 de abril de 2006 . Consultado el 8 de junio de 2011 .Mantenimiento de CS1: copia archivada como título ( enlace )
  7. ^ "Anuncio de BFG Tech para PhysX" . PC máximo . Futuro de EE . UU . Mayo de 2006. p. 6. ISSN 1522-4279 . Consultado el 16 de septiembre de 2009 . 
  8. ^ Nvidia ofrece soporte PhysX para AMD / ATI. Archivado el 13 de marzo de 2008 en Wayback Machine.
  9. ^ "Preguntas frecuentes de PhysX" . NVIDIA Corporation.
  10. ^ Nicholas Blachford (2006). "Vamos a ponernos físicos: dentro del procesador de física PhysX" .
  11. ^ Reseñas legítimas - Tarjeta AGEIA PhysX P1 de ASUS
  12. ^ "Juegos con Havok" . Archivado desde el original el 18 de abril de 2012 . Consultado el 19 de febrero de 2007 .
  13. ^ Información del producto Havok FX Archivado el 2 de marzo de 2007 en la Wayback Machine.
  14. Shilov, Anton (19 de noviembre de 2007). "La física de GPU muerta por ahora, dice el jefe de relaciones con desarrolladores de AMD" . Laboratorios Xbit. Archivado desde el original el 1 de diciembre de 2011 . Consultado el 26 de noviembre de 2007 .

Enlaces externos [ editar ]

  • Sitio web oficial de AGEIA (ya no está disponible)
  • Sitio web del procesador AGEIA Physx (ya no está disponible)
  • Proyectos que utilizan PhysX SDK (ya no está disponible)
  • Revisión de la tarjeta BFG AGEIA PhysX
  • Página de noticias e información de Planet PhysX (ya no está disponible)
  • Hardware de PC: Entrevista AGEIA PhysX (ya no está disponible)
  • Perspectiva de PC: Vista previa de la unidad de procesamiento de física AGEIA PhysX (ya no está disponible)
  • SDK del motor de física Havok FX (biblioteca de middleware) (ya no está disponible)
  • Kit de herramientas y SDK de NVIDIA CUDA
  • Kit de herramientas PhysX y SDK