[openbeos] Re: MIPS32 port for GSoC
- From: Nicholas Blachford <nicholas@xxxxxxxxxxxxxx>
- To: openbeos@xxxxxxxxxxxxx
- Date: Thu, 22 Mar 2007 01:07:18 +0000
Hello all,
I've been following Haiku from afar for quite some time as I can see
big potential for it.
I'm also very interested in the PS3 tech and developing for it (I've
just set up a website for PS3 / Cell developers at www.ps3coderz.com ).
I recently began lurking on this list because I wanted to find out
about progress and if any there was any interest in a PS3 port - I
think the two could go very well together, I think it could prove to
be a good, more friendly alternative to linux.
Regarding porting to Cell:
The initial port should not be that difficult as it is just a port to
Power something which was started years ago (BTW did it ever get
anywhere?).
The next stage is to add support for the SPEs, that will take more
work but there is IBM's reference implementation to look at. If it
can be made compatible with the existing implementation it'll be able
to make use of the existing IBM libs and other software now being
written.
The term DSP is often applied to the SPEs but this isn't correct,
they may be similar to DSPs in some respects but unlike DSPs they are
capable of anything you throw at them. You could probably run 99% of
an OS on them, it's not a very good idea* but it could be done. I
like to think of them as more like "tuned" general purpose processors.
*Actually that's not quite true - there are quite a few things in an
OS which would benefit from vectorisation.
As for developing on the Cell, I don't think it's nearly as difficult
as some seem to suggest - but I'll be finding this out for myself
shortly!
What my be difficult is the change in mind set, Cell doesn't work the
same way as other processors and involves a lot more "manual control"
in order to get the best performance. As has now been shown on
numerous occasions the additional work is rewarded with additional
performance, in some cases much higher than you might expect - even
for supposedly Cell unfriendly tasks. However only a tiny
proportion of most apps needs high performance so this only applies
to a relatively small proportion of code.
I have some ideas floating around for a PS3 Haiku distro, in the mean
time I'll keep following developments...
On 20 Mar 2007, at 7:58 AM, FreeLists Mailing List Manager wrote:
Date: Mon, 19 Mar 2007 16:50:30 -0500
From: "Ben Allen" <ben.allen@xxxxxxxxx>
Subject: [openbeos] Re: MIPS32 port for GSoC
On 3/18/07, Jonas Sundström <jonas@xxxxxxxxxxx> wrote:
But I'd rather have resources spent on the Playstation3,
which is available, fascinating and potentially very powerful,
and also not that expensive if you can truly use its full potential.
As an electrical engineering grad student, we have talked about and
studied
the PS3's cell processor and system architecture, and the sheer
power behind
it will make you drool. The downside is that you can't really "port"
software to the cell processor in the same way that you can to a
Sparc, ARM,
or MIPS architecture.
The cell processor has nine cores: one master core (derivative of a
PowerPC
chip) and eight specialized slave cores (with limited memory access
and
functionality, for number crunching only). If you can port Haiku to a
PowerPC architecture, you can get it working on a PS3 (Sony has a
development kit available that provides some drivers too), but you
lose the
true power of the cell processor. To really use the cell
processor's power,
you need to rewrite your code with the nine-core architecture in
mind, which
is a programming paradigm shift that very few companies (and PS3 game
makers) fully comprehend. However, if some people wanted to re-
write some
of the media-oriented parts of Haiku (specifically encoders,
decoders, and
parts of the GameKit) to take advantage of the cell processor (and
have the
Haiku core running on just the PowerPC master core, which has been
done with
Linux), Haiku could easily be the "MediaOS" in a way that the Be
developers
only dreamed of. (Imagine being able to encode/decode multiple
audio and
video streams in near-real time with almost no load on the
processor, encode
a wav file to multiple compressed formats simultaneously and near-
instantly,
or have multiple processors dedicated to intensive gaming tasks
such as
collision detection and particle motion calculation)
-Ben
--
Nicholas Blachford
www.ps3coderz.com
www.blachford.info
"Do not fear death, fear having not lived."
- Follow-Ups:
- [openbeos] Re: MIPS32 port for GSoC
- From: Stephan Assmus
Other related posts:
- » [openbeos] MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
- » [openbeos] Re: MIPS32 port for GSoC
Date: Mon, 19 Mar 2007 16:50:30 -0500 From: "Ben Allen" <ben.allen@xxxxxxxxx> Subject: [openbeos] Re: MIPS32 port for GSoC On 3/18/07, Jonas Sundström <jonas@xxxxxxxxxxx> wrote:
As an electrical engineering grad student, we have talked about and studied the PS3's cell processor and system architecture, and the sheer power behindBut I'd rather have resources spent on the Playstation3, which is available, fascinating and potentially very powerful, and also not that expensive if you can truly use its full potential.
it will make you drool. The downside is that you can't really "port"software to the cell processor in the same way that you can to a Sparc, ARM,
or MIPS architecture.The cell processor has nine cores: one master core (derivative of a PowerPC chip) and eight specialized slave cores (with limited memory access and
functionality, for number crunching only). If you can port Haiku to a PowerPC architecture, you can get it working on a PS3 (Sony has adevelopment kit available that provides some drivers too), but you lose the true power of the cell processor. To really use the cell processor's power, you need to rewrite your code with the nine-core architecture in mind, which
is a programming paradigm shift that very few companies (and PS3 gamemakers) fully comprehend. However, if some people wanted to re- write some of the media-oriented parts of Haiku (specifically encoders, decoders, and parts of the GameKit) to take advantage of the cell processor (and have the Haiku core running on just the PowerPC master core, which has been done with Linux), Haiku could easily be the "MediaOS" in a way that the Be developers only dreamed of. (Imagine being able to encode/decode multiple audio and video streams in near-real time with almost no load on the processor, encode a wav file to multiple compressed formats simultaneously and near- instantly, or have multiple processors dedicated to intensive gaming tasks such as
collision detection and particle motion calculation) -Ben
- [openbeos] Re: MIPS32 port for GSoC
- From: Stephan Assmus