PS3 para renderizado?

Hola muy buenos dias, os queria hacer una pregunta a ver si fuera posible, utilizar la ps3 con el linux e instalar el 3D studio Max para utilizarlo como máquina de renderizado, porque si fuera posible sería un "puntazo" utilizar una pedazo de maquina como la ps3 para esta utilidad.

Saludos
No se puede porque LINUX no tiene acceso a la memoria 3D
memoria 3D??
Solamente con arrancar el 3Dmax y decirle que renderice por Software creo que podria, y que utilice la memoria ram y la memoria de la tarjeta de video que tiene, creo yo.
Creo que no podras. Que yo sepa no hay version de 3dStudio Max para powerpc. Y no lo puedes ejecutar con wine. Seria un puntazo poder llevarlo a cabo, pero no.

Offtopic: Eres disen~ador 3d? Estoy buscando colaboraciones para un proyecto.
Hola ultimovampiro, pues si soy Diseñador Grafico y Diseñador 3D, si quieres comentame el proyecto que quieres hacer en un privado y hablamos.
Saludos
Desde linux no se puede acceder a la aceleración gráfica de la consola, ni desde Blender ni desde 3D Max ni desde el juego de la tetona de Lula3D
LINUX está tan limitado en PS3 que equivaldría a correr un Pentium 3 a 800Mhz.

No me acuerdo donde leí esto, era en un post de este foro. Si el que lo escribió se pasara y lo confirmara.

De RAM la PS3 tiene 256Mb que se puedan usar en linux, pues la otra RAM no la reconoce LINUX.
ffelagund escribió:Si se recompilara el rasterizador software que utilizase el 3DSMAX (el mental ray por ejemplo, que además hay verison linux y version distribuida, para las render farm) para que hiciese uso de las 6 SPU disponibles en el Linux de la PS3, el renderizado se calcularia a una velocidad de vertigo, con un factor de aceleracion x100 o x200 con respecto al rasterizado estandar en un pc común, pero esto depende de que los propietarios del mental ray (u otro, que hay varios) se curren un buen build para PS3, así que lo pregunta el creador del hilo no es ninguna tontería (para renderizar en 3DMax o maya no se usa el hardware 3D para nada)

Nota: No se podría usar el 3DSMax en la PS3, pero si se podría utilizar el 3DS en el PC como herramienta de modelado (que es lo que es en realidad) y envíar los trabajos de render a la PS3 (que de hecho es como se hace en las render farm)

[babas] [babas] [babas] [babas]
Como molaría poder renderizar con la ps3.
Renders en un minuto...[babas] [babas] [babas]
linux en ps3 está capadisimo, y no solo la aceleracion 3D, si te fijas mueves el raton rápido y los 2 procesadores se ponen a mas del 60% y sin hacer nada al 14... vamos que el subsistema es como un troyano enorme que relentiza todo para que solo puedas hacer lo basico.
ffelagund escribió:Efectivamente linux está capado en PS3, pero eso no quita que sea perfectamente posible correr demonios en calculos de alto rendimiento específicamente programados para Cell muchísimo más rapido que si se ejecutasen en un PC. Programar el Mental Ray en Cell y que vaya x100, x200 o incluso más rápido que en un pc, es perfectamente posible.

El error al utilizar linux en la PS3 es el meterle un entorno gráfico, que chupa mucha memoria y no está optimizado para Cell, pero probad a programar algo que utilice los 6 SPU y vereis de lo que es capaz (yo he programado algun test de rendimiento numérico, y el resultado es simplemente acojonante), por eso repito, que un renderizador software en Cell sería la de dios :)

Que yo sepa linux solo tiene acceso a 1 SPU, no a todos.
Como ya se ha dicho, no necesitas acceso a la grafica para renderizar, se puede hacer por software. Pero sin especificar nada mas de esto, te pregunto, te compras una ps3 para tenerla ahi renderizando? Seguro que si te compras un pc de segunda mano te hace mejor avio y mas facilmente.

Edito: Nada que ver las posibilidades de renderizado (y en general) de 3dStudio Max con Blender.
ffelagund escribió:Pues sabes mal :) Tienes acceso a 1 PPU y a 6 SPU disponibles de los 8 que hay en total (uno de los 8 está deshabilitado y el otro se reserva para el hypervisor si no recuerdo mal), pero puedes programar directamente y sin problemas ni tener que hacer hacks raros los otros 6 SPUs (yo mismo lo he hecho en mis tests de rendimiento y no tiene ningun misterio)


¿Podrías por favor colgar ese test con fuentes incluídos? Tengo curiosidad por probarlo en mi PS3 y en mi PC a ver qué sale.
No hace falta que te pongas a la defensiva. Realmente estoy interesado en el tema (sobretodo para ver si se puede conseguir un media center que funcione bajo Linux de PS3 y pueda visualizar MKV a 1080p con fluidez). Si lo has hecho en tu empresa y no puedes publicar el código pues nada, a otra cosa.

En cuanto al enlace que me das, me confirma dos cosas. En primer lugar, que no me vale para el test que yo quería (porque utiliza código en lenguaje de ensamble nativo para PS3, que no es fácilmente portable a x86), y en segundo lugar que no parece tan fácil sacar partido a PS3, porque si hay que programar en ensamble para los SPUs... mal vamos. ¿O es posible hacerlo en C/C++? ¿Tú programaste el código de los SPUs en C/C++ o en ensamble?
Gracias por el tuto. A ver si puedo echarle un vistazo, aunque últimamente ando muy pelado de tiempo.

Hace un par de meses estuve leyendo documentación sobre el CELL, y la verdad la impresión que me dio es que es más un MEGA-DSP que una CPU al uso. Cosas como la selección condicional de datos, el paralelismo más orientado a datos que a código, el set de instrucciones VLIW, la ejecución paralela de dos unidaes en cada SPU (una de gestión de memoria y otra de procesado de datos), y algunas cosas más recuerdan MUCHO a los DSPs. Yo tengo experiencia programando DSPs de Texas Instruments (algunos de ellos, como los de la familia C55x, en lenguaje de ensamble incluso), y la arquitectura y el set de instrucciones tienen muchas similitudes.

No se qué tal será con el CELL, ignoro hasta qué punto están desarrollados los kits de programación, pero a los DSPs generalmente es muy muy difícil sacarles rendimiento programando en C, precisamente por tener una arquitectura muy heterogenea, y con muchas particularidades (como el CELL). A los compiladores les suele costar adaptarse a esas particularidades. A ver si algún día de estos le puedo echar un vistazo.
Exactamente es a lo que me refiero ffelagund, mi pregunta era si podria utilizar la ps3 como render farm es decir modelar y texturizar lo que sea necesario en el pc y mandar a renderizar a una ps3, con respecto a lo que dice ultimovampiro si te digo la verdad si me compraria una ps3 para tenerla de renderizado, ya que iria muchisimo mas rapido que cualquier pc, y efectivamente se puede renderizar por software,
No soy entendido en el tema, pero alguna vez que he puesto a renderizar un video (creo que no me equivoco) me ha tardado bastante tiempo, pues tengo un pc algo chungo.

Pues la PS3, bajo linux, funciona peor que mi PC.

No tiene acceso completo a la tarjeta grafica, es decir... no puedes correr un juego en 3D normalito.
La RAM son 256 MB, creo que los comparte con el hypervisor xD
El micro es muy rapido, compartido tmb con el hypervisor y bastante capado si no me equivoco

Es decir:
PS3+Linux=Navegar, msn, ver videos SD, ver videos HD no comprimidos... y poco mas.

Dentro no entra renderizar... aun asi, si se puede hacer... y va bien... mi ps3 cambiara xD
Hombre itek, es que es normal que renderizar un video tarde bastante ya en un ordenador bueno , imaginate en uno normalito, por otro lado decir que se puede renderizar por software, y la velocidad de renderizado no la dá ni la ram ni la gráfico sino el micro, así que supongo que el micro de una ps3 (digo supongo porque no se las caracteristicas de la ps3) sea mas potente que la de un pc.
Mcflait escribió:Hombre itek, es que es normal que renderizar un video tarde bastante ya en un ordenador bueno , imaginate en uno normalito, por otro lado decir que se puede renderizar por software, y la velocidad de renderizado no la dá ni la ram ni la gráfico sino el micro, así que supongo que el micro de una ps3 (digo supongo porque no se las caracteristicas de la ps3) sea mas potente que la de un pc.


Mirandolo asi... pero aun asi pienso que no servira.

La ps3 bajo linux solo usaba uno de los micros no?
Hola, no sé si se ha comentado, pero la gente de mental images, estaba portando el mental ray para placas con Cell BE. En teoría son placas con el chip cell y el rsx que se usa para servidores, pero quizá hagan una versión "play" del mental ray(estaban colaborando con sony). De todos modos estaba anunciado para la segunda mitad del 2008, así que todavía puede que quede mucho para verlo.
halo2 está baneado por "utilizar clon para saltase baneo"
ffelagund escribió:
Podría, sí, pero si lo hiciera sería para justificarme y no para satisfacer tu curiosidad, y no tengo por que justificarme en un foro de internet. Aparte del hecho de que es código de mi empresa (o sea, lo he programado como 'acto de curro') y no creo que se viese bien por aquí que hiciese eso.

Te aseguro que es realmente facil correr 6 hilos de cálculo en las SPU (un hilo por SPU claro), No tengo por que mentir (no soy ningun fanboy), ni estoy equivocado, por que lo he probado, asi que te dejo a ti el escribir un test que aproveche mas de un SPU o que compruebes cualquier tutorial de internet sobre programacion de la ps3 bajo linux, como por ejemplo, éste: http://ranulf.net/ps3/
Busca el artículo que menciona: "My first experiment in PS3 development - an optimised julia set renderer that uses 6 SPU threads to perform the calculations and blitting to the screen."
Encontrarás que viene con el código fuente




usas una PS3 para trabajar, por el curro? y dinos, que compilador has usado, o fue con assembler?










PD: los SPEs se pueden usar, pero sin soft compilado que lo soporten no haces nada, o es codigo especifico para los SPEs o no hay tu tia, meterles codigo standart no te serviria de nada, amos k no cuela la historia


sin malos royos [tomaaa]



ffelagund escribió:
A dia de hoy no hay nada ningun motor de render compilado para hacer uso de los 6 SPU disponibles, lo cual deja clara la contestacion a tu pregunta: efectivamente, no se puede renderizar con la PS3, pero hay un matiz. Para hacer un motor de render rapídisimo en la ps3 no se necesita el acceso a la tarjeta grafica (RSX) para nada, y con 256MB de ram SOBRA. El sistema sería muchisimo más rapido que para PC.



precisamente el acceso de Cell al frame buffer de forma directa sin pasar por el RSx es muy lento, razon por la k va tan mal linux en ps3, hasta que degen usar el RSX (aunque no necesites aceleracion 3D, solo el generar la imagen se hace pesado)
ffelagund escribió:@a Dogaratsu: Ya que entiendes de programación, en cuanto tenga listos unos tests de velocidad que estoy haciendo por mi cuenta te pasaré los benchmarks, pero aviso que esto corre con baja prioridad en mi lista de tareas :)


Muchas gracias, no tengas prisa, porque ando pelado de tiempo, pero en cuanto los tengas listos me encantará probarlos, a ver si así aprendo algo.
ffelagund escribió:Es un poco viejo, pero muestra perfectamente que, tecnológicamente hablando, y a dia de hoy, legalmente, se puede hacer perfectamente lo que dice el creador del hilo.


Hay que tener en cuenta que usa 3 PS3 en lugar de una, y que seguramente utiliza un kit de desarrollo oficial sin ningún tipo de "capado" como tenemos en Linux. Aún así, ya que el objetivo del creador del hilo no era renderizar en tiempo real, debería poder hacerse.
doragasu escribió:
Hay que tener en cuenta que usa 3 PS3 en lugar de una, y que seguramente utiliza un kit de desarrollo oficial sin ningún tipo de "capado" como tenemos en Linux. Aún así, ya que el objetivo del creador del hilo no era renderizar en tiempo real, debería poder hacerse.


Creo que confundes los terminos. Renderizar en tiempo real, seria conseguir que la velocidad de renderizado sea la misma, que la cantidad de imagenes por segundo que se van a mostrar. A lo que te refieres supongo que es a ver en directo el renderizado. Aunque no tengo mucha idea del tema de renderizado, supongo que al ser el renderizado por software, no deberia haber ninguna limitación para que por framebuffer vieses en directo el proceso de renderizado, aunque en ese caso, supongo que la cantidad de memoria RAM si que afectara.

Saludos.
Gracias por la aclaración, pero para nada confundo los términos. El vídeo que han puesto, es de una demo de renderizado en tiempo real. El post original no especifica que se requiera tiempo real, por lo que con una PS3 y el Linux capado se debería poder renderizar, pero NO en tiempo real.
ffelagund escribió:Hasta donde yo se, ese render de raytracing en tiempo real se hace con el linux de la ps3 al cual nosotros tenemos acceso. No hay SDK oficial en ese trabajo, y de hecho, dada la naturaleza de los algoritmos (ray tracing) el RSX de la PS3, en el hipotetico caso de que se tuviera acceso a él, no ayudaría en casi nada. Hoy en dia, por arquitectura, no hay tarjetas graficas 'comunes' (aunque si alguna muy muy específica pero no de consumo) que puedan correr algoritmos de ray tracing, mas allá de las tipicas 3 esferas con reflexión.


He buscado un poco más y creo que tienes razón, utiliza el Linux normal y corriente. También tienes razón en que el CELL BE no está muy capado, pero de ahí a decir que no está nada capado... si tiene acceso a 1 SPE menos, significa que el rendimiento de cálculo caerá "a grosso modo" (ya que no tengo en cuenta las diferencias entre SPE y PPE) un 12,5%. Además si quieres dibujar algo en tiempo real con un framerate decente en el framebuffer (como el coche ese del raytracing de IBM), según tengo entendido necesitas utilizar otro SPE para eso casi en exclusiva. Ya es un 25% de potencia perdida. Aún así estoy de acuerdo contigo en que 6 SPEs dan para mucho, y más aún si no necesitas pintar en el framebuffer en tiempo real.

ffelagund escribió:Así que el verdadero Scener que se interese por la tecnologia, con Linux puede acceder a todas las novedades que provee el Cell, porque para trastear con el RSX ya puede hacerlo con cualquier GPU del momento. El resto, excusas para backups. La verdadera Scene es el Cell, no el acceso al RSX (para el que tenga alma de investigador, claro)


No podía estar más de acuerdo contigo. Muchos piensan que la scene es sólo jugar con backups. Pues a mí lo que me gustaría no es eso, sino que la gente empezase a sacar el jugo a la PS3 para ver en ella cosas como un reproductor de MKV que funcione a 1080p con suavidad. Tengo entendido que es posible, pero que requiere 1 SPE sólo para pintar en el framebuffer, otro SPE (o puede que 2) para decodificar el video si está en h264 a 1080p, y otro más para el audio. También estaría bien que saliesen demos como las que se ven en http://www.scene.org, a ver si algún grupo se anima a hacer algo bueno y luego libera los sources...

A mí me encantaría disponer de tiempo para hacer mis pinitos con el CELL, pero ya bastante tengo con empollarme los DSPs que utilizo en mi curro...
Bueno señores, veo algunas cosillas que me gustaria decir, como por ejemplo que yo sepa no hay ningún motor de render en tiempo real "de momento" ni scanline, ni mental ray ni vray, ni maxwell, ni fryrender, eso de renderizar en tiempo real significaria que los cambios que haces tú en las vistas ortogonales ya se te actualicen sobre la marcha en el render? buuffff, creo que no, lo mas parecido que hay a eso es en maxwell render que una vez hecho el render puedes modificar la iluminacion SÍ en tiempo real, vás viendo los cambios sobre la marcha en el render, con la opcion multilight, tanto que puedes hacer render de dia,noche,amanecer, solamente bajando subiendo valores de iluminacion y de cámara.
Luego en temas de capado o no sinceramente ahí no me meto porque no tengo ni idea mi consulta era simplemente si se podría utilizar la ps3 de renderizado, por ejemplo en vez de tener una granja de renders de pc´s tenerla de ps3 que supuestamente es mas potente que un pc normalito no? a que PC equivaldría una ps3 a un quad core?
Cuando dices que no hay motor de render en tiempo real, supongo que te refieres a raytracing. Porque motores de render en tiempo real, los hay a porrillo, todos los juegos 3D llevan uno...

Y si te referías a raytracing en tiempo real, supuestamente los de IBM lo consiguieron utilizando 3 PS3 que renderizan en paralelo. Han puesto el vídeo en este hilo.

Por cierto, he buscado un poco más y he encontrado el raytracer en cuestión, tal vez esto es lo que estás buscando. Por desgracia creo que sólo vale para renderizar la escena de ejemplo, ignoro si podrá usarse para renderizar cualquier otra cosa:

http://www.alphaworks.ibm.com/tech/irt

Se puede descargar, algún experto podría probarlo.

También he visto otro vídeo en youtube:

http://www.youtube.com/watch?v=zKqZKXwop5E&feature=related

This video shows a progression of ray-traced shaders executing on a cluster of IBM QS20 Cell blades. The model comprises over 300,000 triangles and renders at over 60 frames per second, depending on the shader, at 1080p resolution using 14 Cell processors. Because of the scalable nature of the ray-tracer it can also render interactive frames on a single Linux Playstation3 using only 6 SPEs.
ffelagund escribió:Te has descargado esos sources? a mi no me abre la pagina y me han entrado ganas de compilarlo en mi PS3 :) si los tienes, px¡lz, mandamelos por priv o al mail


No te dan los sources, únicamente te dan los programas compilados. Me los he bajado (hay que registrarse) y están en RPM. He intentado convertirlos a debian (porque uso Xubuntu) con el alien, y me ha fallado, así que los he instalado manualmente (no se si bien). El caso es que igual la he cagado porque no he logrado que me funcione, al ejecutarlo me sale esto:

init_multiple_server_sock: waiting for data on port TCP 4464
Opening /opt/ibm/iRT/default.irt.
Please make sure the iRT scenes rpm is installed
IRT:
  base addr   = 0x00000000f4929000
  bounds[0]   = {-208.720551, -76.054016, -208.909927}
  bounds[1]   = {209.325378, 3.448981, 208.815094}
  nr_leafs     = 88506
  nr_nodes     = 88505
  max_depth    = 27
  tree_bytes   = 10990992
  nr_faces     = 333726
  nr_vertices  = 181695
  nr_materials = 41
  nr_textures  = 17
  tree start   = 0x00000000f6050800
  vertices     = 0x00000000f492c000
  attributes   = 0x00000000f4bf2000
  materials    = 0x00000000f492a000
  textures     = 0x00000000f7548000

IRT:
  base addr   = 0x00000000f1a81000
  bounds[0]   = {-208.720551, -76.054016, -208.909927}
  bounds[1]   = {209.325378, 3.448981, 208.815094}
  nr_leafs     = 88506
  nr_nodes     = 88505
  max_depth    = 27
  tree_bytes   = 10990992
  nr_faces     = 333726
  nr_vertices  = 181695
  nr_materials = 41
  nr_textures  = 17
  tree start   = 0x00000000f31a8800
  vertices     = 0x00000000f1a84000
  attributes   = 0x00000000f1d4a000
  materials    = 0x00000000f1a82000
  textures     = 0x00000000f46a0000

Avail_spes = 6
Number of SPES for Raycasting = 6
Create Raycast thread 0
Create Raycast thread 1
Create Raycast thread 2
Create Raycast thread 3
Create Raycast thread 4
Create Raycast thread 5
Encoder WB - Buffer 0 8237056 -> 2011 wb
Encoder WB - Buffer 1 8237056 -> 2011 wb
Compressed Framebuffer /huge/cfb_mem0.bin address 0xed865080
Compressed Framebuffer /huge/cfb_mem1.bin address 0xecc89080
Framebuffer /huge/fb_mem0.bin addres 0xeac64080
Framebuffer /huge/fb_mem1.bin addres 0xe8c3f080
init_client_sock, port = 4464
Client cannot connect: No route to host


La verdad que no le he dedicado mucho, no he mirado la documentación que viene (trae varios PDFs), así que si tengo un rato volveré a mirar a ver si logro hacerlo rular. O a ver si alguien lo consigue y nos cuenta.

En total son unos 27 MB (son 3 RPMs). Ahora ando un poco liado y me viene mal pasártelos. Si quieres mándame un privado con una dirección de correo que admita adjuntos gordotes y te lo envío mañana.
Me bajé los 3 rpm. Supuestamente uno es el binario, y los otros dos son dos escenas distintas. Si lo logras hacer funcionar nos cuentas. Yo si puedo le echaré un ratillo también esta tarde.
Pues nada, yo a ver si lo intento esta tarde un poco más. De todos modos si alguien logra pasar los paquetes a debian le agradecería que los colgase.

Unas preguntillas. ¿Qué línea de comandos has usado? ¿Vale con "iRT " o hay que especificar algo más?
Mola. Veo que te marca 0.42 fps. No está mal para ser raytracing en una única PS3. Yo no he logrado que me funcione. He comprobado que los ficheros están instalados donde deberían, tanto el binario como las escenas y los documentos, y también he comprobado que tienen los permisos de lectura y ejecución correspondientes. Sospecho que el cliente debe conectar a algún programa o servicio que no tengo en mi sistema y que por eso no me rula. ffelagund o otro que lo haya probado y le funcione, ¿podrías hacerme el favor de mirar si el iRT se te conecta a algún programa por el puerto 4464? (por ejemplo, con "netstat -p").
80 respuestas
1, 2