Cell y Havok: rendimiento

Han salido publicadas unas diapositivas de una rueda de prensa dada por los chicos de Havok y en ella se pueden ver unos números de como está comportandose el engine de físicas tanto en PC como en PS3 utilizando diferentes recursos para realizar los cálculos. Aquí os dejo las imágenes...

Imagen

Imagen

Emitiría algún comentario sobre los resultados, pero, sinceramente, temo ser tachado de troll por hacerlo... Seamos positivos, seguro que se trata de falta de optimización.
La verdad que no soy capaz de interpretarlo.
Ayudaria bastante saber que clase de trabajo es
y con que CPU de Pc la comparan.

En principio dice que con 4 SPU's tarda 4.2 ms
y un Pc con 3 cores 4.6 ms
¿es que te parece poco?
Harl escribió:Ayudaria bastante saber que clase de trabajo es
y con que CPU de Pc la comparan.

En principio dice que con 4 SPU's tarda 4.2 ms
y un Pc con 3 cores 4.6 ms
¿es que te parece poco?


No, si no me parece poco... pero creo que si solo has visto que utiliza 4 SPUs para conseguir la cifra, evidentemente, NO HAS VISTO EL PROBLEMA REAL AL QUE ME REFIERO...

2 hilos de la PPU + 4 SPUs es lo que utiliza para conseguirlo
4 SPUs mejor que 3 PC Cores... No es mala cifra.
El detalle no es que con 4 SPU se consiga el rendimiento de un procesador con tres nucleos de PC (habria que saber cual). Es que se consigue con 4 SPU´s bajo una configuracion con 2 PPU´s. La PS3 solo tiene uno (aunque no lo veo muy claro, habla de threads, la PPU de la PS3 si admite dos hilos de ejecucion diferentes, ¿no?).
"Imagino" que para aprovechar las SPUs hace falta lanzar varios threads en un sólo PPU. No tendría mucho sentido que fueran varias PPUs, para qué hacer comparativas con un hardware que no van a usar?
En ningun momento dice que el Cell de la comparativa sea el que usa la PS3. Si no recuerdo mal, hay Cell con dos PPU.
Habla de hilos de ejecución (2 en la PPU del Cell).

Sin saber de que Cores de PC habla no se puede hacer una comparación adecuada...

Y desert, comenta tus impresiones, creo que no se te tacho en el pasado de troll en ningun momento, simplememte no se compartio tu visión.

Ahí van las mias, 1 solo cell sin ser usado al 100% da MAYOR rendimiento que 3 cores de PC al 100%.

Por cierto, pone 4 SPU 'threads', no se donde lei que 'dentro' del Cell los SPU poseen 2 hilos de ejecución...si lo que digo es cierto (que no lo se) serian solo 2 SPU al completo los que se usarían....

Pone bien claro PS3 en la comparativa... Oooh
Painkiller666 escribió:En ningun momento dice que el Cell de la comparativa sea el que usa la PS3. Si no recuerdo mal, hay Cell con dos PPU.


En la primera linea pone PS3

El que use dos hebras para la PPU no significa que use dos PPU's
puedes poner cuantas hebras quieras en una CPU eso se llama multitarea ...
(evidementemente no se ejecutarian a la vez)

En las graficas de barras se veria más claro el tiempo de utilización
(pero creo que faltan, por lo que no estaria de más que pasases en el enlace)

Pero creo entender que la barra roja es el tiempo que espera a las SPU's y la azul es en la que manda o recibe datos a las SPU's
Ademas, en la comparativa de barras que comenta Harl solo aparece SPU 0 y SPU 1....es decir, 2 SPU. [rtfm]
Cierto, y bien grande que pone lo de PS3. Cada dia veo menos.
Bueno, os comento lo que yo creo, ya vendrán gente más capacitada para arrojanos más luz sobre este asunto (deathkiller y Zheo, se os requiere en este hilo)

El problema es, efectivamente, que la PS3 tiene 2 hilos de ejecucion en su PPU, luego está invirtiendo demasiados recursos para alcanzar esa cifra (como ya se ha comentado, es cierto que habría que saber de que tipo de test se trata, si uno que muestra unas físicas espectaculares o algo más convencional)

El caso es que un solo nucleo de PC consigue un resultado de 10.3 ms, resultado que le permitiría actualizar las físicas cada frame, si el juego fuese a 60 frames (cualquier resultado por debajo de los 16,6 ms sería un valor teórico aceptable)...

Un hilo de ejecución de la PPU conseguiría un valor inaceptable para mostrar ese "supuesto juego" a 60 frames... El principal lastre que puede encontrar el engine es que necesite 1 hilo de ejecución de la PPU para cada 2 SPUs que ponga en uso el engine, y esto, podría ser más que probable, ya que echo de menos en esa tabla resultados del engine en una configuración de 1 hilo del PPU y 3 SPUs por ejemplo, o un resultado que nos mostrase el mínimo de recursos necesarios para alcanzar los 16,6 ms.´

P.D.1: El enlace de la noticia aquí

P.D.2: Takeda, era una coña lo de troll... no me consideré "maltratado" en ningún momento por estos lares [oki]
El que usan dos hebras de la PPU no da una verdadera medida del
uso de esta.
Lo que haría falta saber es el porcentaje de uso de esta ...
Harl escribió:El que usan dos hebras de la PPU no da una verdadera medida del
uso de esta.
Lo que habria fala saber es el procentaje de uso de esta ...


Lo sé, sé que falta el porcentaje de uso que realiza de esos hilos... yo en este caso, sembraría la duda de si es posible una aplicación real de esa configuración (uso de 2 hilos del la PPU+4 SPUs, SOLO PARA EL ENGINE DE FíSICAS) dentro de un juego, y más sabiendo y no quiero remover viejos fantasmas (no del todo al menos [360º] ) las limitaciones que proponía el EIB... no creo que sea solo un tema de porcentajes Harl, esa configuración se podría encontrar con más de un problema por culpa de eso (siempre hablando de un ejemplo de un juego completo, en el que no solo existen físicas)

P.D.: De todas maneras, el gráfico de barras, debería, si es real y si está a escala, ser un indicativo del porcentaje de uso de cada hilo de la PPU
Bueno basicamente creo que es lo que se ha dicho, el PPU al completo (usando sus dos threads simultaneos para mayor eficiencia) + 4 SPU gana a una CPU de PC de 3 Core al maximo con el Havok Spectrum4.0.

La demo que se uso en ese ejemplo es la que se se mostro en GC a principios de año con soldados del Heavenly Sword (200 soldados siendo bombardeados con explosiones).

El Job Queue example solo es para explicar el funcionamiento del engine no para hablar de porcentajes de ejecución.

Tampoco es que sea muy interesante el ejemplo por que no dan detalles concretos sobre el rendimiento como porcentaje de tiempo de ejecucion alcanzado, ancho de banda consumido o si piensan conseguir mejoras.
deathkiller escribió:Bueno basicamente creo que es lo que se ha dicho, el PPU al completo (usando sus dos threads simultaneos para mayor eficiencia) + 4 SPU gana a una CPU de PC de 3 Core al maximo con el Havok Spectrum4.0.

La demo que se uso en ese ejemplo es la que se se mostro en GC a principios de año con soldados del Heavenly Sword (200 soldados siendo bombardeados con explosiones).

El Job Queue example solo es para explicar el funcionamiento del engine no para hablar de porcentajes de ejecución.

Tampoco es que sea muy interesante el ejemplo por que no dan detalles concretos sobre el rendimiento como porcentaje de tiempo de ejecucion alcanzado, ancho de banda consumido o si piensan conseguir mejoras.


Gracias, maestro.

Pero me sigo quedando con la duda... con 10 ms se va sobrado para un juego a 60 frames, eso lo alcanza un PC con uno solo de sus núcleos, según sus datos (aunque es cierto, que no sabemos que nucleos son)... Personalmente creo que los valores "lógicos" son los que interesan. Con valores "lógicos" me refiero a valores que no inviertan tantos recursos del Cell sólo para físicas y valores que no hace falta (en principio) que estén por encima de lo que se puede mostrar en pantalla... hablando en plata... ¿No faltan ahí los resultados de un hilo de la PPU+2 SPUs?
desert_fan_club escribió:
Gracias, maestro.

Pero me sigo quedando con la duda... con 10 ms se va sobrado para un juego a 60 frames, eso lo alcanza un PC con uno solo de sus núcleos, según sus datos (aunque es cierto, que no sabemos que nucleos son)... Personalmente creo que los valores "lógicos" son los que interesan. Con valores "lógicos" me refiero a valores que no inviertan tantos recursos del Cell sólo para físicas y valores que no hace falta (en principio) que estén por encima de lo que se puede mostrar en pantalla... hablando en plata... ¿No faltan ahí los resultados de un hilo de la PPU+2 SPUs?


Pues segun lo expones, si. Da la impresión que con datos han querido demostrar lo importante que son los SPU en PS3 y como mejoran el rendimiento, pero como tu dices deberian mostrar datos donde el rendimiento fuese aceptable y la cantidad de recursos libres tambien....
lo que me ha dejado frío es ver como el PPU solo no puede contra un cpu de 1 sólo core, tomando en cuenta que se ha dicho mucho que programar en el CELL es complicadillo y muchas empresas podrían cortar por lo fácil y rápido y programar sólo usando el PPU y ningún SPU.
Pero 4 hilos SPU equivale a 2 SPUs (no a 4) si no me equivoco, ya que cada SPU puede lanzar dos hilos.
¿El Physx de Aegia ese en teoría usaba un solo SPU verdad?

salu2
Valentus escribió:lo que me ha dejado frío es ver como el PPU solo no puede contra un cpu de 1 sólo core, tomando en cuenta que se ha dicho mucho que programar en el CELL es complicadillo y muchas empresas podrían cortar por lo fácil y rápido y programar sólo usando el PPU y ningún SPU.

Tampoco es tan sorprendente, un core de PC suele tener más cache, el doble de unidades de calculo, el doble de instrucciones procesadas simultaneamente y ademas reordenacion dinamica de las instrucciones sobre un PPU. Con el tiempo se optimizara más el codigo al ser una arquitectura fija.

Sobre empresas no usando los SPUs pues bueno aqui tienes un ejemplo de una libreria con la que ya pueden aprobecharlos sin tener que hacer una linea de codigo compatible con los SPU.

Lo de que todas las opciones en el ejmplo se sobran es cierto, la de un solo thread en el PPU estaria limitada a 30 fps eso si.
Painkiller666 escribió:El detalle no es que con 4 SPU se consiga el rendimiento de un procesador con tres nucleos de PC (habria que saber cual). Es que se consigue con 4 SPU´s bajo una configuracion con 2 PPU´s. La PS3 solo tiene uno (aunque no lo veo muy claro, habla de threads, la PPU de la PS3 si admite dos hilos de ejecucion diferentes, ¿no?).

Dos hilos en la PPU pueden procesarme simultáneamente. Están hablando de hilos de ejecución, no de procesadores físicos.

A día de hoy son un ignorante en temas de SPU, pero de nuevo, hilos no tiene por qué significar cores, así que no puedo concretar nada en ese aspecto. Otra cosa que no se comenta es el grado de utilización del SPU, quizá no se aprovechen al 100%, pero que se haga división de trabajo entre varios para mejorar el rendimiento, algo que es factible.

Y como apuntan por arriba sin conocer el "core" de PC es complicado hacer comparaciones, aunque ya han dicho que una CPU de ordenador es distinta a la que montan la PS3 o la 360, que son in-order, es decir, que no reorganizan las instrucciones dentro del pipeline, cosa que hacen las cpus de pc y que mejora mucho el rendimiento, a costa de aumentar las etapas del pipeline así como la complejidad del procesador (lo que aumentaría el tamaño del mismo)

10ms de tiempo par 60FPS no está nada mal para CPU, pero también hay que tener en cuenta que la CPU de la PS3 tendrá que procesar más cosas, como el procesado de sonido (que hace enteramente la CPU al no disponer de circuitería explícita a tal efecto), la IA, o incluso más elementos para descargar la CPU (animaciones, procesado de geometría, etc). Todo esto depende del tipo de juego: en uno de coches se puede calcular la física a más "frames" (como se comentaba que hará el forza2), pero también a menos.

Por último no explica el tipo de prueba que hacen, y nada permite relacionar una diapositiva con otra sólo con ver dos imágenes.
.abc. está baneado por "faltas reiteradas y clones para evitar las expulsiones"
Harl escribió:El que usan dos hebras de la PPU no da una verdadera medida del
uso de esta.
Lo que haría falta saber es el porcentaje de uso de esta ...
si no me equivoco, el la foto2 la barra amarilla (por llamarlo asi) es un uso completo "creo" y la zona roja de esa barra y la azul es el tiempo que utiliza de un uso completo.

un saludo y perdon si me equivoco
Gildor escribió:Viendo el tercer vídeo me ha venido a la cabeza el Katamari Damacy
Juas! he pensado exáctamente lo mismo. La verdad es que la demo impresiona.

Un saludo
27 respuestas