He estado enseñándome la programación del procesador de celda (en C) durante los últimos meses. Definitivamente no es el mejor lugar para comenzar, ya que programar con éxito la Celda requiere dominar muchas habilidades: C/C++, pthreads, libspe, los diversos tipos de comunicación en la célula (DMA, buzones, señales, interrupciones, I atómica). O). Para hacerlo más difícil, la documentación de la Celda puede ser críptica, difícil de encontrar e incorrecta. Si usa una plataforma más común (XNA, pyGame, SDL), habrá una comunidad de usuarios mucho mayor. Eso no quiere decir que no haya ninguna comunidad de usuarios para la Celda, solo que es más pequeña. Y a pesar de que hay otros entornos donde uno puede encontrar programación con múltiples procesadores, puede ser difícil traducir las técnicas para estos entornos a la celda, debido a su arquitectura única. Además, el uso de una PS3 estándar con Linux no le permitirá acceder al hardware de gráficos.
Pero no todo es malo. Aprender PS3/Cell le enseñará mucho acerca de la programación cerca de la máquina. Realmente no tiene otra opción, ya que no hay muchas abstracciones disponibles para el programador.Cada SPU en la Celda tiene 256KB de memoria local y si necesita más que eso, necesitará encontrar algún tipo de esquema para emitir las solicitudes de DMA correctas para traer los valores correctos a la memoria en el momento correcto y (con suerte) mantenga la SPU ocupada haciendo algo mientras la solicitud de DMA está en vuelo. Aprendiendo la Celda
Entonces, tal vez no sea la mejor plataforma para aprender, pero dado que tienes la oportunidad de tomar clases de Sony, esto parece una buena oportunidad.
En cualquier caso, si está interesado, el book from Scarpino es una gran referencia, y tiene un par de capítulos sobre la programación de juegos en la célula con el motor OGRE, que también podría serle interesante.
Por lo que sé, tal vez solo esté buscando la programación de una de las SPU o el procesador central. Gracias por su respuesta, se votará después de iniciar sesión :) –
Los rumores de que la célula es notoriamente difícil son exagerados. Necesita infraestructura para admitir un sistema de trabajo, pero una vez hecho esto, debe preocuparse por las DMA. Sony maneja la primera parte hasta cierto punto, si usted es un desarrollador con licencia. –
El problema real con la Celda es que las SPU tienen muy poca memoria disponible y no tienen una memoria compartida real. – Klaim