sábado, 25 de septiembre de 2010

Nvidia PhysX SSE2 y CuDA x86


Hace 2 meses se desveló que algunas funciones de PhysX, el motor de físicas de Nvidia, que se ejecutaban en la CPU usaban las antiguas instrucciones x87, desaprovechando el potencial de las instrucciones SSE de los modernos microprocesadores, lo que desató una tremenda polémica. En su defensa, Nvidia afirmó que PhysX usaba x87 porque los desarrolladores querían mantener la compatibilidad con CPUs antiguos. Hace pocos días Nvidia lanzó su nuevo PhysX SDK 2.8.4.4, y entre sus novedades estaba el esperado soporte de las instrucciones SSE2. En las primeras pruebas se demostró que el rendimiento era hasta cuatro veces superior con SSE2 como en teoría se predijo.

Las físicas en los juegos desarrollados a partir de ahora con el nuevo SDK gozarán de un rendimiento superior, pero lamentablemente estas mejoras no estarán disponibles para los juegos existentes a no ser que lancen un parche desarrollado con el nuevo SDK. Este avance no significa que se pueda prescindir de una gráfica de Nvidia para jugar a títulos con PhysX. Hay muchos juegos con PhysX por software y algunos que utilizan PhysX por hardware, la diferencia está en que ahora cuando se hagan peticiones al procesador éste las ejecute de forma mucho más eficiente. Las físicas por CPU se van tornando más poderosas y quizá veamos a PhysX rivalizar con el rendimiento de Havok de Intel. Por otro lado el próximo mes AMD lanzará la primera Beta de Open Physics, por lo que las físicas tanto por CPU como por GPU empezarán a cobrar mayor protagonismo tanto en juegos como en aplicaciones.

No solo se han íncluido mejoras en PhysX, sino que también Nvidia ha hecho lo suyo con su plataforma CuDA. Hasta ahora CuDA funcionaba solo en los chips gráficos de Nvidia para computación de propósito general (GPGPU), pero Nvidia pretende extender su lenguaje frente a DirectCompute y OpenCL. Nvidia va a desarrollar junto a PGI un compilador que podrá ejecutar CuDA en cualquier procesador de arquitectura x86. El compilador CuDA x86 podrá aprovechar los múltiples núcleos de las CPUs actuales y extensiones como SIMD (Single Instruction Multiple Data) de los procesadores Intel y AMD para ejecución paralela. La licencia del nuevo compilador será cerrada como lo es la propia plataforma CuDA, frente al más popular OpenCL, abierto y libre de royalties desarrollado por el grupo Khronos y apoyado por compañías como Apple y AMD.

No hay comentarios:

Publicar un comentario