Procesador físico

Un procesador físico ( eng.  Physics Processing Unit  - ing.  PPU , “acelerador físico”, “acelerador de física”) es un microprocesador especializado diseñado para calcular las interacciones físicas de los objetos, principalmente en motores de física de videojuegos .

Ejemplos de cálculos físicos que utilizan un procesador físico pueden ser: dinámica de cuerpo rígido  , dinámica de cuerpo blando , detección de colisión , dinámica de fluidos , simulación de movimiento de cabello, pieles y telas, análisis de elementos finitos , fallas de objetos .   

La idea (función principal, esencia) de un procesador físico es descargar la unidad central de procesamiento ( ing.  CPU  - ing.  Unidad de procesamiento central ) de las tareas de procesamiento físico que consumen mucho tiempo. Las tarjetas de video modernas utilizan una idea muy similar , cuya parte principal son los procesadores gráficos ( GPU en inglés   - Unidad de procesamiento de gráficos en inglés ).  

Los primeros procesadores físicos desarrollados son SPARTA y HELLAS .

El término "PPU" fue acuñado por el departamento de marketing de Ageia para describir su chip PhysX a los consumidores. El procesador físico PhysX de Ageia es  la única instancia completa, diseñada, diseñada, producida en masa, comercializada y respaldada que fue diseñada únicamente como una PPU . Además de PhysX, existen otras soluciones y tecnologías en esta área.

Ageia PhysX

El primer procesador que se anunció como "PPU" fue un chip PhysX , fabricado por Ageia . Los juegos que querían usar PhysX tenían que usar un subsoftware especial: el motor de física PhysX SDK (anteriormente conocido como NovodeX SDK )  de Ageia .

El procesador PhysX consta de un núcleo RISC de uso general que controla una matriz de procesadores VLIW personalizados que funcionan con instrucciones SIMD y punto flotante [1] . El procesador funciona con bancos de memoria locales con un interruptor incorporado para controlar los flujos entre ellos. PhysX no tiene la misma jerarquía de caché que la CPU o la GPU .

Actualmente no hay placas con un procesador PhysX disponibles para la venta. En el pasado reciente, los tableros fueron producidos por tres empresas. ASUS y BFG Technologies fueron las primeras empresas en comenzar a vender placas. Los kits de computadora completos con placas PhysX instaladas están disponibles de fabricantes de computadoras como Alienware , Dell y Falcon Northwest.

En febrero de 2008 , después de que Nvidia comprara Ageia Technologies , parecía que todos los desarrollos de esta última se trasladaban por completo a Nvidia. Sin embargo, en marzo de 2008, Nvidia anunció que convertiría PhysX SDK en una plataforma abierta disponible para todos. [2] La compatibilidad con PhysX SDK estará disponible para todas las tarjetas de video Nvidia a partir de la serie 8xxx. Por el momento, Nvidia se prepara para lanzar una nueva versión de los controladores, que incluye soporte para PhysX SDK en estas tarjetas de video. El 24 de julio de 2008, se reveló que Nvidia lanzaría un controlador ForceWare certificado por WHQL con soporte de aceleración física el 5 de agosto de 2008 . [3]

El 28 de junio de 2008, Eran Badit de  NGOHQ.com lanzó el soporte de hardware PhysX SDK en la tarjeta gráfica Radeon HD 3870 . [4] NVIDIA reaccionó negativamente a la iniciativa de Eran Badit, pero el 9 de julio de 2008, Badit obtuvo acceso a la documentación, el SDK, el hardware y los contactos de los ingenieros. Por lo tanto, NVIDIA está abriendo PhysX SDK a desarrolladores externos. [5]

El 15 de agosto de 2008, NVIDIA lanzó el controlador ForceWare 177.83, que permite la compatibilidad con PhysX en las tarjetas gráficas de las series 8, 9 y 200. Esto amplió inmediatamente la base de usuarios a más de 70 millones de personas en todo el mundo. [6] [7]

Enlaces de la sección

Coprocesador VU0 en PS2 como PPU

La consola de juegos Sony PlayStation 2 de sexta generación utiliza un " Emotion Engine " de 128 bits , que es una combinación de una unidad central de procesamiento (CPU) y un procesador de señal digital (DSP). El Emotion Engine consta de una parte central de 64 bits basada en MIPS R5900 y dos coprocesadores vectoriales de 128 bits VU0 y VU1 ( Vector Unit ) . VU0 se usa comúnmente para transformaciones de polígonos, física y otras cosas relacionadas con el juego . VU1 se usa comúnmente para la transformación de polígonos, la iluminación y otros cálculos relacionados con el renderizado.  

A pesar de las diferencias significativas con PhysX, VP0 puede considerarse una implementación temprana de procesador físico limitado. Su conjunto de características y ubicación en el sistema de microprocesador tiene como objetivo acelerar las tareas de actualización del estado del juego, incluidas la física y la inteligencia artificial ; VU0 puede descargar la parte central del "Emotion Engine". Sin embargo, al ser un procesador de señal digital, VU0 depende mucho más del procesador principal y no puede implementar la API física completa . Esta es la razón por la que VU0 no puede clasificarse como PPU.

Su uso es similar al uso del motor Havok FX o un acelerador físico GPU en el sentido de que los recursos de una unidad externa de punto flotante de uso general que actúa como un acelerador gráfico o físico complementan los de la CPU.

Procesador celular como PPU

El procesador STI Cell , que se utiliza en la consola de juegos Sony PlayStation 3 de séptima generación , tiene una estructura similar al procesador Ageia PhysX. El diseño del procesador se creó teniendo en cuenta consideraciones similares a Ageia PhysX. A diferencia de ATI/NVidia GPGPU, y al igual que PhysX, el diseño de Cell está diseñado con el objetivo de proporcionar a cada subproceso paralelo un conjunto de trabajo más grande , más comunicación entre subprocesos y control que una CPU convencional . Este diseño es muy adecuado para la computación física.  

El término "PPU" no se usa para describir Cell, pero viene con una distinción de marketing: la alianza STI Design Center vende el procesador para una amplia gama de aplicaciones integradas que no son juegos; e incluso como parte de la PlayStation 3, es capaz de usar SPE ( Synergistic Processing Elements - Elemento de procesamiento sinérgico) como DSP  para el procesamiento de vértices ( ing  . Vertex Processing ), sonido, descompresión y otras tareas.  

Havok FX

El motor de física Havok SDK es el principal competidor del motor PhysX SDK. Se utiliza en más de 150 juegos, incluidos juegos como Half-Life 2 , The Elder Scrolls IV: Oblivion y Dead Rising . [ocho]

Para competir con el procesador físico PhysX, se desarrolló el concepto Havok FX , cuya esencia principal era usar el poder de las tarjetas de video para acelerar ciertos cálculos físicos. Havok FX debía usarse solo en computadoras equipadas con al menos dos tarjetas de video conectadas mediante NVIDIA SLI o ATI Crossfire . Al mismo tiempo, se tuvo que asignar completamente una tarjeta de video de este paquete para los cálculos físicos. [9]

La solución de Havok divide todas las simulaciones de física en efectos de física y física de "juego". Los efectos físicos (polvo, pequeños fragmentos y escombros de explosiones, fuego) se procesan utilizando la GPU en la tarjeta de video según las instrucciones de Shader Model 3.0 (Shader Model versión 3.0). La física del "juego" es manejada por la CPU de la manera habitual. Una diferencia importante entre los dos es que los efectos físicos no afectan la jugabilidad del juego; la gran mayoría de las operaciones físicas todavía las realiza la CPU en software estándar. Este enfoque difiere significativamente del motor PhysX SDK, que redirige todos los cálculos físicos actuales a la tarjeta PhysX.

Desde que Intel compró Havok el 15 de septiembre de 2007, Havok FX se canceló. Se suponía que Intel congelaría el proyecto de soporte de hardware para el motor en las tarjetas gráficas de su competidor, AMD, y se centraría en optimizar el motor para sus CPU multinúcleo. [10] [11] [12]

El 20 de marzo de 2009, se supo que en el evento anual Game Developers Conference 2009, AMD y Havok demostrarían la aceleración física de las tarjetas gráficas Radeon . Terry Makedon , gerente de producto de  ATI Catalyst , dijo que en la GDC, AMD exhibirá su estrategia "ATI GPU Physics" y realizará una demostración relacionada. AMD utilizará el lenguaje de programación OpenCL para acelerar Havok , cuyo compilador forma parte del paquete de software ATI Stream SDK. [13] [14] [15] [16]

Como prometieron, AMD y Havok realizaron una demostración de física en GDC 09. Por primera vez, se demostró la capacidad de ejecutar "Havok Cloth" en una extensión de OpenCL. Se indicó que para los cálculos de este subsistema se requiere un procesador gráfico AMD con soporte para OpenCL y AMD Stream. También se mencionó el enfoque de Havok en los últimos procesadores Phenom multinúcleo de AMD . [17] [18] [19]

Enlaces de la sección

GPU vs PPU

El desarrollo del concepto GPGPU hace que las GPU sean cada vez más adecuadas para tareas destinadas a procesadores físicos. DirectX 10 agrega tipos de datos enteros , una arquitectura  de sombreado unificado y sombreadores de geometría a la GPU, lo que permite que la GPU maneje una gama más amplia de algoritmos . NVidia CUDA proporciona comunicación entre subprocesos y un espacio de trabajo estilo bloc de notas asociado con subprocesos .   

Sin embargo, las GPU están diseñadas para funcionar con gráficos de computadora en 3D. Tienen una latencia más larga, transmisiones más lentas, funcionan con texturas y framebuffer .  Esto los distingue de Ageia PPU y Cell como menos adecuados para el modelado físico.

El sistema de programación paralela Sieve C++ es compatible con la PPU, lo que demuestra que el chip Ageia PhysX sería adecuado para tareas de tipo GPGPU.

Enlaces de la sección

Intel Larrabee y AMD Fusion

Se espera que Larrabee de Intel  , una implementación multinúcleo con ancho de banda optimizado de la arquitectura x86, sea una buena opción para el rol de procesador físico . Al igual que el procesador Cell, Larrabee se encuentra entre la CPU y la GPU en cuanto a sus parámetros. Larrabee está diseñado para el procesamiento de subprocesos múltiples multitarea de propósito general en lugar del procesamiento interno especializado de alto rendimiento. Intel ha confirmado que la arquitectura de memoria Larrabee no utilizará búferes temporales como Cell o Ageia PhysX; en cambio, la arquitectura de la memoria estará más cerca de la jerarquía de caché de la CPU normal. Sin embargo, Larrabee tendrá extensiones para habilitar HPC (probablemente un reemplazo completo de las instrucciones de administración de caché).

En 2008, AMD anunció su proyecto AMD Fusion . AMD Fusion será un procesador que combinará un procesador central x86-64 y un procesador gráfico basado en los últimos modelos de la serie Radeon en un solo chip . Se compartirán varios recursos del procesador AMD Fusion , como el caché jerárquico. Es probable que esta configuración futura también sea adecuada para el rol de PPU.

Notas

  1. Nicolás Blachford. Pongámonos físicos: dentro del procesador de física PhysX  (inglés) (2006). Consultado el 10 de junio de 2014. Archivado desde el original el 14 de julio de 2014.
  2. Ben Hardwidge. Nvidia ofrece soporte PhysX para AMD/ATI  (inglés)  (enlace descendente) . custompc.co.uk (10 de marzo de 2008). Consultado el 30 de marzo de 2009. Archivado desde el original el 11 de octubre de 2008.
  3. Pavel "xAnder" Shubsky. Controlador NVIDIA WHQL para PhysX: principios de agosto (enlace descendente) . Juegos de azar (24 de julio de 2008). Fecha de acceso: 27 de julio de 2008. Archivado desde el original el 28 de julio de 2008. 
  4. Gato negro. PhysX está pirateado y ya no es exclusivo de las tarjetas NVIDIA . IXBT.com (28 de junio de 2008). Consultado el 9 de julio de 2008. Archivado desde el original el 29 de junio de 2009.
  5. Pavel "xAnder" Shubsky. ¿NVIDIA abrirá soporte de PhysX para ATI Radeon? (enlace no disponible) . Juegos de azar (9 de julio de 2008). Consultado el 9 de julio de 2008. Archivado desde el original el 17 de mayo de 2013. 
  6. NVIDIA lanza controlador para soporte de hardware PhysX . GameDev.ru (15 de agosto de 2008). Fecha de acceso: 27 de octubre de 2008. Archivado desde el original el 5 de enero de 2012.
  7. Vinnie es Jefe de Servicios Técnicos de XFX Europa. Física casi libre . RusDoc.ru (14 de octubre de 2008). Consultado el 19 de octubre de 2008. Archivado desde el original el 5 de enero de 2012.
  8. Juegos usando Havok (enlace descendente) . Consultado el 16 de octubre de 2008. Archivado desde el original el 18 de abril de 2012. 
  9. Información del producto Havok FX (enlace descendente) . Consultado el 16 de octubre de 2008. Archivado desde el original el 2 de marzo de 2007. 
  10. Antón Shilov. GPU Physics Dead for Now, dice el jefe de relaciones con desarrolladores de AMD El jefe ejecutivo de Nvidia predice "sinergias negativas" con la adquisición de Havok por parte de Intel  (  enlace inaccesible) . Laboratorios X-bit (19 de noviembre de 2007). Consultado el 27 de febrero de 2011. Archivado desde el original el 16 de febrero de 2012.
  11. Antón Shilov. Intel para adquirir  Havok . Bit-tech (15 de septiembre de 2007). Consultado el 27 de febrero de 2011. Archivado desde el original el 16 de febrero de 2012.
  12. Arsenio Gerasimenko. Intel anunció la adquisición de Havok . 3DNoticias (17 de septiembre de 2007). Consultado el 27 de febrero de 2011. Archivado desde el original el 2 de noviembre de 2009.
  13. Ben Hardwidge. AMD hará una demostración de la física de la GPU en la GDC la próxima  semana . Bit-tech (20 de marzo de 2009). Consultado el 23 de marzo de 2009. Archivado desde el original el 16 de febrero de 2012.
  14. Alejandro Shemetov. La aceleración física con las GPU de AMD llegará pronto . 3DNoticias (23 de marzo de 2009). Consultado el 23 de marzo de 2009. Archivado desde el original el 26 de marzo de 2009.
  15. BESS!. AMD mostrará "aceleración física" en sus GPU con Havok API en GDC2009 (enlace no disponible) . iXBT (24 de marzo de 2009). Consultado el 24 de marzo de 2009. Archivado desde el original el 3 de julio de 2017. 
  16. Pavel Shubski. AMD demostrará el procesamiento físico . Gambling (revista) (23 de marzo de 2009). Consultado el 24 de marzo de 2009. Archivado desde el original el 31 de marzo de 2009.
  17. Pavel Shubski. AMD demostró la física . Gambling (revista) (27 de marzo de 2009). Consultado el 27 de marzo de 2009. Archivado desde el original el 31 de marzo de 2009.
  18. BESS!. AMD y Havok en Game Developers Conference 2009 (enlace no disponible) . iXBT (27 de marzo de 2009). Consultado el 28 de marzo de 2009. Archivado desde el original el 3 de julio de 2017. 
  19. Alejandro Shemetov. Havok y AMD mostraron la física de OpenCL en la GDC . 3DNoticias (29 de marzo de 2009). Consultado el 30 de marzo de 2009. Archivado desde el original el 30 de marzo de 2009.

Enlaces