Upcoming book on Cell programming

Discussion in 'CellPerformance@B3D' started by Titanio, Jul 5, 2008.

  1. Titanio

    Legend

    Joined:
    Dec 1, 2004
    Messages:
    5,670
    Likes Received:
    51
    Just saw this on O'Reilly, figured it might be useful for some people when it's published.

    Programming the Cell Processor: For Games, Graphics, and Computation
    By: Matthew Scarpino
    Publisher: Prentice Hall
    http://safari.oreilly.com/9780137156115

    Parts of it are currently available to subscribers as a 'rough cuts' version. It's scheduled for publication in September.

    The table of contents looks like this, currently:

    I think it's the first dedicated book on the subject, first I'm aware of at least. Hopefully it'll be a good guide for those who don't want to forage through freely available docs, and perhaps it'll make some original contributions of its own. Might be worth keeping an eye out for.
     
  2. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    40,691
    Likes Received:
    11,138
    Location:
    Under my bridge
    What hardware are they talking about here? Are they talking about Cell as a 'GPU', providing (me hopes!) a framework of PS3 Cell code that renders stuff on the screen? Or are they talking about Cell in a PC (style) system with complimentary GPU, which is not going to be applicable to PS3 development? And what are the credentials of this guy?

    I do hope this spurs on some PS3 development, 'coz it's way to quiet for my liking!
     
  3. Enzyme

    Newcomer

    Joined:
    Nov 15, 2007
    Messages:
    81
    Likes Received:
    1
    Location:
    Belgium
    This book does look quite interesting.
    I hope it's written well, in a manner that anyone can understand.

    It is indeed a bit quiet. But they do already have a RedBook out on Cell, which is a very good help for everything Cell related.
     
  4. Panajev2001a

    Veteran

    Joined:
    Mar 31, 2002
    Messages:
    3,187
    Likes Received:
    8
    I seriously did not expect, when they announced Linux development for PS3, to see this kind of quiet and purely academical/professional OSS comunity around CELL and PS3...

    I expected something like what PS2 Linux brought (playstation2-linux.com ... which now is offline... sadly... ).

    XNA >> PS3 Linux... for homebrew programmers although PS3 Linux might be better if you want to branch off in the pro's arena.
     
    #4 Panajev2001a, Jul 6, 2008
    Last edited by a moderator: Jul 6, 2008
  5. Titanio

    Legend

    Joined:
    Dec 1, 2004
    Messages:
    5,670
    Likes Received:
    51
    It puzzles me a little too. Is PS3 programming relatively just not that fun, compared to PS2? I wasn't really involved in much PS2 programming, but it didn't strike me as a walk in the park for hobbyists either. I thought a lot of people loved it for its challenge.

    Or is the system's market position dampening enthusiasm on this end too?

    XNA is much much easier to get into, perhaps more fun in that respect. But I figured the 'exoticness' of the architecture would still stir more interest from hobbyist game developers.

    On the other hand, the interest from the academic community has been greater than I expected. Maybe that's partially the problem, maybe it's too academic. I'm just puzzled because you could have leveled the same charge at PS2.
     
  6. patsu

    Legend

    Joined:
    Jun 25, 2005
    Messages:
    27,614
    Likes Received:
    60
    Could you access the graphics hardware in PS2 Linux ?

    I pre-ordered the book. Checked out Early Look for Section III and beyond (Wanted to find out more about Mesa for PS3). Only Section I and II are online right now.
     
  7. Panajev2001a

    Veteran

    Joined:
    Mar 31, 2002
    Messages:
    3,187
    Likes Received:
    8
    Not only that, you had FULL docs on it too...

    Basically, besides I/O CPU and SPU2 (which were abstracted away), basically EVERYTHING was accessible AND documented.

    DMA controller, R5900i+SPRAM, VIF0/1, VU0/1, GIF, and GS... registers documented, libraries that helped to handle memory allocation were quickly developed (look lib sps2dev and its kernel module up, you could achieve VERY close performance figures to what devs could with an official TOOL unit) and many pro grade tools were made by random devs/hobbyists... look GSVNC up...

    better...

    go here:

    http://window.terratron.com/ps2linux/

    GS VNC allowed you to quickly check out frame buffers, Z-buffer, and off-screen surfaces

    SVVUDB: GUI driven, interactive/real-time VU/GIF/GS Packets debugger allowing you to easily simple step through the code (VIF packets, VU code and GIF/GS packets thus being able to single step graphics rendering commands basically... something you have to have GCM Replay on PS3 to do).

    I kick myself in the butt for not doing more with this unit... perhaps the first and only time a console maker gave their users a professional grade dev kit.
     
    #7 Panajev2001a, Jul 6, 2008
    Last edited by a moderator: Jul 6, 2008
  8. Panajev2001a

    Veteran

    Joined:
    Mar 31, 2002
    Messages:
    3,187
    Likes Received:
    8
    It had its fair share of challenge, still it offered quite a good reward. It was not certainly easy to learn/get accustomed to especially if you were only doing some regular college level C/C++ stuff and maybe played around with the GBA for a while...

    Still, with PS2 and any kind of console really it is beyond a certain point the fun stuff is secondary to the unfunny stuff (if you want to get serious and push the machine hard)... the hard part (well today's consoles have added to it with the whole multi-threading/multi-processing bit ;)) is really the art pipeline... getting data in and out as fast as possibly through the box that is your game engine... how do you export the data out of the modeling tool? Do you have a good triangle striping tool? How is the data packed? What info were you able to bake in? How much info from the modeling/animation tool were you able to preserve?

    Of course there were tons of tricks and mad scientist games you could play to shave off cycles here and there, just ask the resident PS2 experts ;).

    Playing with the PS2 was IMHO funnier because doing what devs do (some of them are nice and give out advice ;)) would net you some nice results and you felt you were really working on a PS2 just like they were...

    When you are restricted to SW rendering you are already in the "PS3 == cheap CELL SDK for devs" territory...
     
  9. patsu

    Legend

    Joined:
    Jun 25, 2005
    Messages:
    27,614
    Likes Received:
    60
    I did a quick search to answer Shifty's question

    (A) Gallium3D
    =========
    Gallium: http://www.tungstengraphics.com/wiki/index.php/Gallium3D



    (B) Mesa
    ======
    http://www.opengl.org/documentation/implementations/




    (C) Ogre3D
    =======
    I can't find anything PS3 or Cell related on their official site. There was a survey elsewhere asking about Cell and Altivec optimization though: http://www.powerdeveloper.org/forums/viewtopic.php?p=9498&sid=fdc37626a6a927102904e62da88fb8fa
    Not very promising...

    The book's preface says this:

     
  10. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    40,691
    Likes Received:
    11,138
    Location:
    Under my bridge
    Does this represent the problem here, that would-be developers are only really interested in graphics stuff? Thinking back to the Amiga days, there was an incredible variety. I don't understand why that broad interest isn't being represented. Does everyone just want to write games, and so turning to XNA? What about just incredible code and engines doing abstract, unheard of things? I suppose in the Amiga's day the standards were lower. eg. For music, you only had to write a tracker and you had a valid product to interest people. Nowadays with cheap MIDI authoring software and VSTi's, you'd need a lot of work to create a package that people will be interested in, and perhaps that's the problem? Maybe the real reason for doing stuff was to get noticed, and would-be code-monkeys feel that won't happen on PS3? XNA offers a huge user-base to impress. PS3 Linux represents a smidgen. Any developer would be working in isolation, unappreciated, creating programs few will care to use. If that workload is also hard, you'd need an incredibly dedicated enthusiast to keep at it.

    Another deterrent is also the limits on the PS3 that Linux creates. A 10GB Sony partition is going to pretty much cripple your PS3 as a PS3. A 10GB Linux partition isn't going to go very far for people creating media applications.

    Maybe it's just a number of factors all coming together. The strategy for Linux on PS3 certainly isn't receiving any push, from any quarters.
     
  11. Panajev2001a

    Veteran

    Joined:
    Mar 31, 2002
    Messages:
    3,187
    Likes Received:
    8
    The Gallium CELL-SPU driver is in a so-so state last I checked though... I do not know if it has been fixed or what but in a somewhat recent SVN snapshot it was a bit broken (could not be compiled IIRC).
     
  12. Panajev2001a

    Veteran

    Joined:
    Mar 31, 2002
    Messages:
    3,187
    Likes Received:
    8
    PS3 is an incredible success for what people like IBM and Sony wanted it to be.
    A lot of devs interested in taming the CELL processor do use PS3 Linux to quickly test/prototype their stuff (Insomniac amongst many other ones) .
    As a cheap educational/professional CELL SDK it is a success.


    (I do tend to agree with what you said about the "scene" on PS3 Linux and XNA)
     
  13. patsu

    Legend

    Joined:
    Jun 25, 2005
    Messages:
    27,614
    Likes Received:
    60
    According to http://forums.ps2dev.org/viewtopic.php?t=7263
    the build was broken in April 2008 (Still broken now).

    It's up to LBNL and Tungsten to fix it. Performance and code quality don't seem great in the opinion of other folks who tried/reviewed it back in Dec 2007:
    http://forums.ps2dev.org/viewtopic.php?t=9475&sid=610d7e1fa32b9ced13de7a8df6bf3ac7
     
  14. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    40,691
    Likes Received:
    11,138
    Location:
    Under my bridge
    What state is the Mesa driver in? Ah...I see Gallium is Mesa3D renamed. :(
     
  15. upnorthsox

    Veteran

    Joined:
    May 7, 2008
    Messages:
    1,909
    Likes Received:
    232
    The ability to hack it (or lack thereof) could be a big motivator (or deterent) too. Alot of buzz was started when the first rsx hacks came out but when those were closed so was the buzz.
     
  16. patsu

    Legend

    Joined:
    Jun 25, 2005
    Messages:
    27,614
    Likes Received:
    60
    The book arrived this morning. It's thick (1.5 - 2").

    I am most interested in the SPU security and performance stuff, plus Ogre. Will summarize when I'm through with the book.
     
  17. rpg.314

    Veteran

    Joined:
    Jul 21, 2008
    Messages:
    4,298
    Likes Received:
    0
    Location:
    /
    I thought that SPU security stuff was only available under NDA, or is it?
     
  18. patsu

    Legend

    Joined:
    Jun 25, 2005
    Messages:
    27,614
    Likes Received:
    60
    Well, a quick flip shows that they are talking about the SPU isolation library, Open SSL, and other libspe security-related stuff. Should be straight forward (non-NDA land).
     
  19. patsu

    Legend

    Joined:
    Jun 25, 2005
    Messages:
    27,614
    Likes Received:
    60
    Moving very slowly through the book (Only at Chapter 10 now, out of 20). It's a fairly interesting read but really, all the info is available online. I bought it so that I could learn something during the dead-zones of my life (e.g., waiting for guests, meeting, food, blah).

    The book clearly needs a reference of the Cell instructions and their quirks, but it doesn't provide them. Fortunately, I found a cheat sheet on the Insomniac website this morning: http://www.insomniacgames.com/tech/articles/0907/files/spu_instruction_cheat_sheet.pdf

    I reckon it's helpful for me whenever I start to get my hands dirty these days (more than just simple compiles and tweaks). Decided to post it here in case some other noobs need it too. ^_^
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...