segunda-feira, 26 de maio de 2008

Compile Programas para o Playstation 3

Nesse excelente artigo do Cabelo para o Viva O Linux, ele mostra como funciona o processador CELL do Playstation 3 e como compilar programas para ele.

O artigo na íntegra encontra-se aqui

HelloWorld.c

#include
typedef union
{
unsigned long long ull;
unsigned int ui[2];
}addr64;

int main (unsigned long long speid, addr64 argp, addr64 envp)
{
printf("Hello world, para o Playstation 3!\n");
return 0;
}

Para compilar:

A primeira parte é para gerar o código objeto:
$ spu-gcc -W -Wall -Winline -Wno-main -I. -I /opt/cross/spu/sys-root/usr/include/ -include spu_intrinsics.h -03 -c helloworld.c

E agora o código binário (executável):
$ spu-gcc -o helloworld helloworld.o -WI, -N /opt/cross/spu/sys-root/usr/lib/libc.a

Copie o executável para o PS3 com Linux e execute ./helloworld

$ ./helloworld
Hello world, para PlayStation 3!


A UNICAMP possui um cluster de 12 Playstation 3 rodando Linux. 
Cada PS3 custou R$2.500,00  ou seja, MUITO mais barato que qualquer servidor e ainda conta com um processador PowerPC 64 bits com 6 núcleos de 3.2Ghz e 512MB de RAM.



Cluster de Playstation 3


Um comentário:

Anônimo disse...

loucura cara...show de bola

pirei na idéia.