All Channels
Popular
180°

Overview of programming the Cell Processor from the IBM research archive

The Cell Broadband Processor is a hard to understandable enigma to programmers who have worked in the standard PC environment for a long time. With the hints from the following papers and the introduction of the IBM XL C/C++ compiler in 2007 it is now much easier to learn and program the Cell.

1st: Introduction to the XL C/C++ compiler for Linux and the Cell
http://www-01.ibm.com/common/ssi/rep_ca/3/897/ENUS207-253/index.html

2nd: Using advanced compiler technology to exploit the performance of the Cell Broadband Engine architecture
(that is to say read this for great hints (instruction buffering and branch hint commands))
http://researchweb.watson.ibm.com/journal/sj/451/eichenberger.html

3rd: A tutorial in several parts "compiling for the cell"
http://www.ibm.com/developerworks/edu/pa-dw-pa-cbecompile1-i.html

4th: The Cell Project
http://researchweb.watson.ibm.com/cell/cell_programming.html
http://www.research.ibm.com/cell/publications.html

5th and final: CellSs: Making it easier to program the Cell Broadband Engine processor
http://researchweb.watson.ibm.com/journal/rd/515/perez.html

Read Full Story >>
researchweb.watson.ibm.com
JoelR6576d ago

btw: the car is created using iRT raytracer on Cell Broadband Processor

PoSTedUP6576d ago

really? yea, i think i seen something on you tube with raytracer, it was at its early stage though. ps3 graphics= something serious.

JoelR6576d ago

you can get iRT for your PS3... and it's blazing fast... I picked out probably the worst picture from iRT but it looked best as the little icon photo. LOL

http://www.alphaworks.ibm.c...

Mc Fadge6576d ago

My poor ears ><;

The car looked nice, but that's with 3 PS3s doing the work, hardly practical to use at the moment :/

JoelR6576d ago (Edited 6576d ago )

lol... actually if you read the paper on it...
it renders at 75x the speed of most dual cores in that configuration but it will work with as little as one spe on a cell chip.

with 1 spe (seriously gimped) it still equals a 3.2ghz Intel p4 in raytracing speed.

+ Show (1) more replyLast reply 6576d ago
LenHart6576d ago

that the car model was rendered by the CELL only without the help of the graphics card by iRT

KZ2 incorporates iRT too and this is why it is the best looking game out there

JoelR6575d ago

now the real question is ... how is iRT implemented. It can't be the full blown use all SPEs as that would stop execution of other code... and how does iRT work in conjunction with the RSX?

ProblemSolver6575d ago (Edited 6575d ago )

I strongly assume that KZ2 does not use iRT, since KZ2 doesn't use any
solid raytracing effects. Further, KZ2's rendering engine is based on the
'Deferred Rendering' technique which, up to my knowledge, doesn't
incorporate any raytracing techniques;
[PDF]: http://www.guerrilla-games....

Never mind! I'm also hyped on KZ2. 8)

jaja14346576d ago

So basically this is a poor mans programming tool...

Basically you write your code as you would in either C or C++ and the compiler complies it into something the Cell can work with. But that in itself is a problem because when you use a compiler to generate code into another language, like writing something in C and then using a compiler to give you it's equivalent in Mips, always gives you unoptimized code.

So it works, but not as good as it could.

PoSTedUP6576d ago

you should go on Jeopardy.

Tetsuryu6575d ago (Edited 6575d ago )

Because you explained what happens when you convert industry standard code (like C/++) using a generator (for the cell) which results in inefficient yet workable code.

Or you used programming terminology. ;)

PoSTedUP: Think of it this way; Say you find an interesting webpage with some information you want to know, but you can't understand it because it's in a foreign language. So you use an online translator to translate it. As soon as it's done translating, you read it. However, the grammar is a bit funky and barely understandable, but it works for you. However, if you already know the foreign language, the information on the webpage makes clear sense, which is much faster for you to comprehend, thus saving time and it making more efficient for you. Which means more time for other things. ;)

Ok maybe not the best analogy. ^_^;

JoelR6575d ago

Not quite...
the compiler helps but the other links lead to methods of better programming for the Cell.

hint branching and other commands help immensely
the compiler highly rewards those who use proper multiprocessor code with better speed and efficiency and helps those that do not at least create better code for the cell.

If you know anything about compilers that is TRUE for any type of programming --- compilers optomize for the cpu they are written for. If you write good code better results if you write bad code compilers can cover a multitude of sins.

Tetsuryu6575d ago (Edited 6575d ago )

Personally, I've been interested in the Cell (it's still a mystery to me, I don't have a lot of spare time to do some personal homework for it), though I'm debating whether I should major in Programming, Art, Design for the Gaming Industry. I can do all three at the moment, though I'm not a great programmer in terms of logical problem solving.

From experience with Cell, is it more of a matter of learning new syntax (as in learning a new language for example) and the such or is it more of a matter of logic and juggling 3 balls at the same time (as opposed to one figuratively speaking)?

JoelR6575d ago (Edited 6575d ago )

Tetsuryu

.... more of learning to juggle balls...
Syntactically it is different and knowing the syntax definitely helps you program on the Cell processor but the bigger change is the thought process you need in your head.

Thoughts you constantly need while programming multiprocessors:
How can I parallelize this?
What is the proper order of instructions for critical path?
Can this loop be unspooled?
Is this branch likely (if yes then use the hbr)?

Tetsuryu6575d ago

Holy cow, I don't think my brain can handle that much multitasking lol. Thanks for taking the time to answer.

JoelR6575d ago

Tet - don't give up

It's a case of training the brain (gah DS reference!) to better understand things like that. That takes practice - NO ONE AND I MEAN NO ONE is perfect overnight doing parallel programming.

(it may not be the right field for you but everyone benefits even if they don't apply it to learn something new (and you would be amazed at what applications come up for new knowledge))

Building a car is much like parallel processing... you can have 30 manufactors building parts for a car in parallel and the assembly line can put four wheels on at the same time... and in the end you have a car.

Tetsuryu6575d ago (Edited 6575d ago )

In my mind, it appears to being an endless labyrinth with dead ends at every turn just thinking about it lol.

I see there's a lot of branching involved (especially with that analogy you just described) while utilizing the most out of available resources, if I'm not mistaken; very interesting.

I'm not sure if the Open Zone uses a different batch of bubbles. If it doesn't, I do appreciate the use of your last bubble for that last comment, I wish I could give you more bubbles.

+ Show (6) more repliesLast reply 6575d ago
Mc Fadge6575d ago

How to run these files (.rpm) on the PS3?

JoelR6575d ago (Edited 6575d ago )

The Big hint here isn't that the Compiler solves all the issues but that the other links show "GOOD PROGRAMMING PRACTICE" methods for the cell processor. The Compiler helps but the good practices recommended in the other links make your code sing.

Imagine branchs with a latency of 1 cycle - you can do that if you use the hbr (hintbranch instruction)
Usage of subwords for math - C and C++ does this inefficiently but it's one of Cells strengths
Scheduling of subtask - use it to reduce lengths of critical subpaths (BETTER PERFORMANCE!)
Proper extraction of SIMD instructions - better parallelization.

Show all comments (30)
60°

Final Fantasy X 25th Anniversary Website Launches With New Nomura Artwork and Merchandise

Square Enix launches Final Fantasy X 25th anniversary site, revealing new Nomura art, books, music releases, and merchandise.

Read Full Story >>
twistedvoxel.com
-Foxtrot27d ago

Look I know VIII has its issues and all that but how on earth can the do big anniversary events with new artwork and merchandise for VII, IX and X yet VIII got sweet f*** all.

They could have given it something during its 25th anniversary yet all it got was a single Happy Anniversary post on their social media.

solideagle26d ago

they should know that we are OG fans of VIII as it sold truckload as well. not as much as VII or X. I personally didn't like IX but X and VI are my personal fav.

Shadow Hearts 2 covenant is another game I love. I hope one day someone can make remake, I would be delighted

Relientk7726d ago

Final Fantasy VIII is great and you are always the first to defend it in the comments

30°

FuRyu teases new game ‘Project Alice’ to be announced on April 25

FuRuy has opened a Twitter account called “Project Alice” teasing a new game announcement on April 25 at 20:30 JST.

30°

Top Racers Need Top Gear – Introducing the Forza Horizon 6 Limited Edition Controller and Headset

Omar writes: "With the Horizon Festival coming to breathtaking Japan, you’ll need the essential gear to prove you’ve got what it takes to become a Horizon Legend as you cruise, drift and explore an open world full of spectacular driving experiences. That’s why we’re happy to announce the newest Limited Edition Xbox Wireless Controller and Wireless Headset collection, featuring inspired designs from Forza Horizon 6. The bright cyan and lime colorways celebrate the Horizon Festival’s recognition of iconic cars and hit music, with special features that are sure to impress any collector."

Read Full Story >>
news.xbox.com
Killer2020UK34d ago

Oh my, that is one gaudy design