PS3 Linux: Cell optimized graphics library

Discussion in 'CellPerformance@B3D' started by Shifty Geezer, Mar 14, 2007.

  1. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    40,485
    Likes Received:
    10,844
    Location:
    Under my bridge
    From a YDL interview at GameTrailers (nothing interesting other than this bit), Co-founder and CEO of Terrasoft Carl Staats briefly mentions performance from optimizing applications for Cell. He says they ported an open source graphics library called Macer (no idea on the spelling!). They ported it in 4 days and it's running 80 times faster than Intel's Woodcrest.

    What's Macer? Is this something useful to the Linux community?
     
  2. Carl B

    Carl B Friends call me xbd
    Moderator Legend

    Joined:
    Feb 20, 2005
    Messages:
    6,266
    Likes Received:
    63
    It's Kai Staats rather than Carl... take it from a Carl. :)

    Also it's Mesa rather than Macer. This is Mesa: http://www.mesa3d.org/
     
  3. Gradthrawn

    Veteran

    Joined:
    Jun 18, 2006
    Messages:
    2,265
    Likes Received:
    84
    Location:
    Michigan
  4. inefficient

    Veteran

    Joined:
    May 5, 2004
    Messages:
    2,121
    Likes Received:
    53
    Location:
    Tokyo
  5. Rolf N

    Rolf N Recurring Membmare
    Veteran

    Joined:
    Aug 18, 2003
    Messages:
    2,494
    Likes Received:
    55
    Location:
    yes
    Mesa is an OpenGL implementation, including a full-featured software renderer and hardware acceleration for a number of devices. It's very useful and widespread.

    Hey guys! Nice job beating me to it, all of you ;)
     
  6. inefficient

    Veteran

    Joined:
    May 5, 2004
    Messages:
    2,121
    Likes Received:
    53
    Location:
    Tokyo
    If they really did manage a 80x faster version of Mesa for Cell they have not actually released it as far as I am aware.

    And 4 days sounds a bit too fast to take advantage of the SPUs and get that kind of speed up. So either the Intel version was just dog slow. Or the speed up came from somewhere else. I strongly doubt it was an SPU accelerated solution.
     
  7. Arwin

    Arwin Now Officially a Top 10 Poster
    Moderator Legend

    Joined:
    May 17, 2006
    Messages:
    17,677
    Likes Received:
    1,196
    Location:
    Maastricht, The Netherlands
    Nice, thanks! MesaGL optimisation sounds great, and he's talking about how they are working really hard to get RSX support in there, so that's promising too ... I'm still not sure which version I'll pick for Linux on my PS3, but YDL stands a good chance.
     
  8. Carl B

    Carl B Friends call me xbd
    Moderator Legend

    Joined:
    Feb 20, 2005
    Messages:
    6,266
    Likes Received:
    63
    It was achieved during the 'hack-a-thon' Terra Soft hosted:

    http://www.hpc-consortium.net/events/hack-a-thon/200701/summary.shtml

    Project blurb (with some important context):

     
  9. 3dilettante

    Legend Alpha

    Joined:
    Sep 15, 2003
    Messages:
    8,117
    Likes Received:
    2,860
    Location:
    Well within 3d
    What exactly is the code doing if it can process 80 times the fragments for a factor of 7 increase in frame rate?

    Is the 80x achievable while achieving the 7x framerate, or are those numbers for different tests?
     
  10. Carl B

    Carl B Friends call me xbd
    Moderator Legend

    Joined:
    Feb 20, 2005
    Messages:
    6,266
    Likes Received:
    63
    No idea. The problem is that it's asking us to refer to the Wiki, but for my part, I can't find the Wiki! :razz:

    Actually some of those other projects they ran look pretty cool as well.
     
  11. Titanio

    Legend

    Joined:
    Dec 1, 2004
    Messages:
    5,670
    Likes Received:
    51
    I guess past a certain point the framerate is bound by another part of the pipeline?

    Interesting work, and definitely worth pursuing in the absence of RSX access. Does this project have a site somewhere? Is it an ongoing concern?

    Also, using Rapidmind to port video decoding for various formats could be interesting. Lots of people are crying out for a Cell-optimised port of something like ffmpeg or whatever, and maybe Rapidmind could make that easier.
     
  12. 3dilettante

    Legend Alpha

    Joined:
    Sep 15, 2003
    Messages:
    8,117
    Likes Received:
    2,860
    Location:
    Well within 3d
    I'm a little unsure how useful this would be in making up for a lack of access to RSX.

    If the x86 variant is craptastically slow, even 7x faster than craptastic might be just crappy.

    I am unable to find more info on what exactly they've sped up. If it's just shader compilation, I could see that. If the project also processed fragments, that's a lot of stuff getting thrown away if the frames drawn are equivalent to the x86 version.

    edit: never mind, the 80x is a rate, not the amount of fragments processed
     
    #12 3dilettante, Mar 14, 2007
    Last edited by a moderator: Mar 14, 2007
  13. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    40,485
    Likes Received:
    10,844
    Location:
    Under my bridge
    So it's a a full graphics lib, a la OpenGL, spread over SPEs? That could prove very useful, outside of PS3 Linux and in other Cell apps (single processor handhelds!)

    Well...um...how could it not be SPEs? If the basic functions map well to the SPEs, it ought not to take too long. It's not like porting a non-SPE friednly app like BFS and having to redesign the whole thing. Graphics should map well to SPEs using the basic methods used in CPU rendering.

    And is there any reason to think the Woodcrest is a poor implementation? Would the OpenSource
    community release a no-good version for Woodcrest? Would the Woodcrest version run any worse than standard Intel implementations? I'd have thought not, in which case Mesa ought to be at a robust implementation for x86, even if not targetted at Woodcrest specifically.
     
  14. chris1515

    Veteran Regular

    Joined:
    Jul 24, 2005
    Messages:
    3,376
    Likes Received:
    1,999
    Location:
    Barcelona Spain
    They succeed to do this with the Rapidmind tools. I think it is the main reason for the rapid port with stunning performance.

    http://www.rapidmind.net/

    http://media.rapidmind.net/rapidmind-cell-porting-and-tuning.pdf

    Other documentation:

    http://www.rapidmind.net/documentation.php
     
  15. Titanio

    Legend

    Joined:
    Dec 1, 2004
    Messages:
    5,670
    Likes Received:
    51
    My reading of it is that they've put the programmable fragment processing part of the pipeline on the SPUs. I don't think all parts are on the SPUs.
     
  16. chris1515

    Veteran Regular

    Joined:
    Jul 24, 2005
    Messages:
    3,376
    Likes Received:
    1,999
    Location:
    Barcelona Spain
  17. Jesus2006

    Regular

    Joined:
    Jul 14, 2006
    Messages:
    506
    Likes Received:
    10
    Location:
    Bavaria
    So basically they're using the PPU as CPU and the SPEs as gfx accelerator (card) :) (aka Pixel Pipelines?)
     
  18. Todd33

    Veteran Banned

    Joined:
    Jan 22, 2007
    Messages:
    1,066
    Likes Received:
    7
    Location:
    CA
  19. zed

    zed
    Veteran

    Joined:
    Dec 16, 2005
    Messages:
    4,395
    Likes Received:
    603
    ( i didnt view the video )
    80x, no way. sure the cells fast (esp at stuff like this) but 80x
    4 days does sound way to quick ( after all its meant to be difficult to get best performance out of cell, or so we've been told )
    the intel x86 version has been around for years (constantly updated) so of the two, i assume the cell is gonna be the one that is not gonna be running at its peak power ( looking good for the future ).

    with mesa the major slowdown are per fragment operations, thus a 80x speedup on these would be absolutely awesome, sounds to good to be true though, wheres the catch.
    ive tried a lot a lot of stuff (mine + other ppls) in mesa over the years.
    now if what is purported is correct, ild say thats enuf to run doom3 at 480p @ 60fps . purely in software!!
     
  20. flick556

    Newcomer

    Joined:
    May 4, 2003
    Messages:
    163
    Likes Received:
    4
    I think cells biggest benefit is in the local stores and communication from one spu to another. If the library had a concept of individual parallel work units and these different units communicated with each other very frequently then cell may be easily 80x faster. It would mean that the old implantation did things in a way thats very unfriendly to traditional CPUs but conceptually the best method for the type of problem ie pixel shading. If the old system already had this kind of organization of it's workload than the biggest challenge of porting to cell was already done for them so porting went quickly.

    It's becoming easier to see why they stressed streaming computing so much early on. If you view the seven SPUs as individual processors each running completely independent programs accessing memory. Then cell gets you 7x the flops of a traditional cpu at about half the bandwidth you would normally expect from a pc. If all the SPUs work together in say a streaming way with one SPU doing all the input ,one doing all the output, and all the rest communicating only with other SPUs. In this system the input/output SPUs have more bandwith to main memory because they don' have to share, and the other SPUs become almost 100% math limited because they can talk amongst themselves at a very high speed. Their are many problems that won't fit into this model, but pixel shading fits this model extremely well.
     
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...