Programming Parallel Processors in C by Stream.
A company which feels it can solve one of the key problems of parallel processors – the difficulty of programming them – is Stream Processors, a two year-old spin-out from Stanford University.
The problems with using parallel processor architectures have been widely aired. “Customers say to us: ‘Be very careful with parallel architectures’”, says Texas Instruments’ CTO for communications infrastructure Alan Gatherer, “they ask us: ‘You don’t know how to programme these massively parallel devices yourselves do you?’ That’s one of the reasons why there’s been no traction for those companies doing massively parallel architectures. These companies programme their own devices because no one else can. When they say: ‘We’ve got a reference design so you don’t need to programme it yourself’, what they really mean is: ‘We’ve got a reference design because we know you’ll never be able to programme it yourself.’” Over at ARM it’s the same sort of story. “The software guys don’t move very fast. That’s why multi-core processing looks as if it will be a long –term play”, says ARM’s Goodacre, “multi-threading was a stop-gap, but it doesn’t add anything, and can make software very difficult to write.” “People don’t like multi-core”, adds Gatherer, “if everything else is equal between a single core and a multi-core, people will say they’ll take the single core, because it’s easier to programme. The goal is a architecture which is understandable, accessible and readily usable by programmers, and which fully exploits the power of parallelism. This is what Stream says it has produced. What Stream brings to the party is an architecture which can be programmed in C and which looks, to the programmer, as if it’s a single core architecture. “It won’t require the programmer to think in terms other than as a single core. The programmer doesn’t have to worry about partitioning across multiple cores”, says Bengt Christensson, vice president for business development at Stream. The company has been shipping its first chips since December into video and image processing applications. They are made on TSMC’s 130 nm process.