Parallel processing isn’t just for supercomputers or GPUs anymore. Computer makers are throwing multiple cores at everything from servers to your printer. But the focus on horsepower misses a crucial problem associated with adding more processors. To really take advantage of them, you have to rewrite your code.As anyone who’s ever hosted a demolition party well knows, you can only throw so many workers at a problem before people start to linger at the edges, swill your alcohol and generally stop helping. You need not just manpower, but a good way to organize those workers so that someone, says, preps a drop cloth before your walls get taken out. And others prep for cleanup while the plaster is flying.
Silicon doesn’t tend toward drunken destruction, but if you’re putting the cores in place, it would be great to give them better instructions. Otherwise the promise of performance is just a promise, which is why Microsoft and Intel recently pledged $20 million to two universities trying to figure out an easy way to translate the billions of lines of code into an instruction set for multicore chips.
Others are pushing Erlang as a potential solution to parallel programming, while those in the supercomputing industry are warning of a performance drop caused by applications not keeping up with the cores. Software startup VirtualLogix is trying to use virtualization software to govern how multicore chips run applications by making the programs think they’re running on one processor.
Last week, during the launch of the iPhone, Steve Jobs told the New York Times that the next generation of the Apple OS will not focus on new features, but will instead solve the problem of writing software for multicore processors. Apple has code-named the technology Grand Central, and based it on a programming language called OpenCL. It will parallelize C programming languages for graphics processors.
Besides investing millions of research dollars into the search for a magic compiler or reviving an older language, chip vendors are coming up with stopgaps. Unfortunately these stopgaps are focused solely on their own silicon. Nvidia has released a tool called CUDA to help translate C languages into parallel instructions that can be used by Nvidia’s GPUs for scientific computing. (Apple’s OpenCL looks similar to CUDA.) And AMD also has its own effort, called Stream.
Freescale on Monday announced a set of multicore embedded processors that come with software support in the form of a simulator that ships before the chips do. As a result, users can start their development efforts and test their multicore code weeks ahead of time. “Customers are not looking for suppliers to offer them a chip and then leave them to program it themselves,” explained Steve Cole, a systems architect for Freescale. “There’s a certain amount of support and market knowledge that we need to have to help our customers.”
With all the work it takes to rewrite code, it’s no wonder everyone from startups to established companies are desperately searching for the programming equivalent of a Babel fish to solve the problem. The one that succeeds will be responsible for taking computing to its next jump in speed.

microsoft
apple
intc
Technology-News
semiconductors
nvda
virtuallogix
Nvidia has plans for a mobile chipset that will change the look and functionality of smartphones when it hits in mid-to-late 2009. While many of the big chip vendors are placing bets on the concept of a mobile Internet device that’s larger than a smartphone, but smaller than a laptop, Nvidia’s APX 2500 chips could enable devices that are so sexy, they might render the need for an MID obsolete.
However, I’m told the company will announce an expansion of the APX chips into MIDs soon, so I could be wrong on that last point. Nvidia launched the chips that will make a smartphone function like a PC (or an iPhone) at the Mobile World Congress in February, and I can’t believe I missed it.
This is Nvidia’s first move into making the “brains” of a mobile device, and it’s using its graphics expertise to turn the devices containing the chips into portable media players that can play 10 hours of HD video (on an external screen) and 100 hours of MP3s on a single charge. All while the 750 MHz processor consumes less than a watt of power.
In a demo at Nvidia headquarters two weeks ago, I saw a device slightly larger than an iPhone power an HD rendering of a Pixar short called “For the Birds” on a big-screen TV. It was connected via an HDMI cable and it looked good at 720p. I get that some people don’t mind watching movies or TV on their cell phone or iPod screens, but if I’m able to download that content and plug it into a TV, that’s an entirely new ballgame for travel and sharing. I want that device.
The demo I saw was powered by Nvidia’s chipset running on Windows Mobile, creating a chip/OS combo that mimics some of the visual pizazz of the iPhone, but on a more business-friendly operating system. Sure, as far as mobile operating systems go, Windows Mobile isn’t exactly tearing it up, but the integration of business and pleasure could make the current angst of choosing between a BlackBerry or an iPhone a thing of the past.
The chipset will first appear at the end of this year in personal navigation devices and personal media players, with a smartphone due out in the middle of 2009. Unfortunately, the APX 2500 contains an HSDPA RF chip, so it won’t be deployed on my network, but TMobile subscribers should keep their eyes open. Like the iPhone, the APX is modem agnostic, which means it’s not tied to any particular cellular network. There’s plenty of room for Nvidia to stumble, since it doesn’t have the experience designing for the mobile space, but I’m hoping it can succeed right about the time my current mobile contract is up.

mobile
microsoft
nvidia
msft
Technology-News
semiconductors
nvda