RapidMind takes multi-threaded magic to x86 realm
hip profitable to be square
Start-up RapidMind has gone mainstream by supporting x86 chips from Intel and AMD with the latest release of its flagship product that makes it easier to get more performance out of multi-core CPUs.
Come Dec., RapidMind will release Version 3.0 of the RapidMind Multi-core Development Platform - or RMMcDP for those keeping score at home. Past versions of the software were aimed at IBM's Cell chip and GPUs from Nvidia and ATI/AMD. Now, developers can fancy up their code for the x86 chips found in most servers as well.
RapidMind's software allows developers to keep coding away as they always have - rather than learning more complex multi-threaded software techniques or delving into the intricacies of various chip architectures.
As the always eloquent Rick Merritt puts it:
Application developers can use existing tools to profile their programs and identify performance bottlenecks in their code. Those modules can then be linked to the RapidMind run-time tool through a C++ application programming interface and library calls.
The RapidMind software automatically generates parallel code for array processing and other math functions. The run-time software checks as many as eight areas for possible parallelism. The company said it has tested its new X86 version on as many as eight cores using two quad-core chips, with results as much as tenfold better than native code.
HP has taken notice of RapidMind's x86 skills and invited the start-up into its new acceleration nation.
Clearly, high performance computing customers will be most interested in RapidMind's software, although the x86 play could help it branch out into business applications.
RapidMind used to have a direct competitor known as PeakStream, but Google ate that baby, leaving the server market in the lurch. Google's open source chief Chris DiBona has said the company would consider releasing PeakStream's old code under an open source license if only it could get around restrictions on Intel's math libraries.
Huge questions remain around how the market will accept products from RapidMind and others. Without question, we're heading toward a software crisis where not enough multi-threaded code will exist to take proper advantage of multi-core chips. RapidMind, however, seems like more of a stopgap than an industry-wide answer. But, you know, stopgaps are valuable too. ®
Register editor Ashlee Vance has just pumped out a new book that's a guide to Silicon Valley. The book starts with the electronics pioneers present in the Bay Area in the early 20th century and marches up to today's heavies. Want to know where Gordon Moore eats Chinese food, how unions affected the rise of microprocessors or how Fairchild Semiconductor got its start? This is the book for you - available at Amazon US here or in the UK here.
I think you have cause and effect back to front: bad coding practices stem from the fact that processors have become ever more powerful and cheaper at the same time. Think back to the days of the ZX80 - we could build entire word processor programmes that ran in 1k ram on a 3.5MHz(?) processor.
Integrated circuits have become more powerful more as side effect of competition than an immediate need for the raw power. The speed races of the last decade were a marketing ploy (loosely linked to 'Moore's Law') rather than any inherent need for your wordprocessor to run any faster.
And absolute Power, corrupts Absolutely?
"Of course, you knew that already, since Google is primarily in the ad and search business."
I came across that earlier statement on the Peakstream link, Ashlee, and have thought that Google are much more like and therefore a very direct threat to Microsoft if they are a search and ad business.
It is a nice business model whereby the customer/researcher searches for knowledge thus revealing what may be new knowledge and the business then advertises and monetises it ....which I can't help feel is like IP pilfering in the very lucrative extreme cases of search/inquiry/sharing with the SAPs getting nothing for their diligent efforts.
Of course, such a covert/clandestine operation would be very susceptible to malicious code, specifically designed to expose it as a simple devious poacher rather than skilled gamekeeper.
It is a sad universal truth of men, all too often, all too often confirmed, that power corrupts and no one can deny who are seen as being powerful and therefore quite liable to a natural human condition.
Let's face it, as nice as it sounds, very, very few developers code specifically to maximize processor performance. That's a big part of the reason why processors have had to keep making such performance leaps.
There are two primary reasons for this lack of performance based coding:
1) it's often cheaper (and faster) to write sloppy code and just add lots of processors
2) There is a profound lack of tools and education designed specifically for performance coding, especially concerning multi-core processors.
RapidMind and the Google tools are nice, but nowhere near what is needed to maximize multi-core processing. As multi core proliferates the first player to the game with true development tools to natively support several cores will make a fortune.