Issue 6 - The Parallel Universe - March 2011
Editorial Intro - James Reinders
I like choices because they provide options. For computer programming, like a mechanic, we look for the right tools for the job. This issue of The Parallel Universe magazine helps educate us to select those tools for the job by educating us on programming methods and tools. Articles in this issue highlight parallel programming using the latest Intel® XE tools by showing results and tips using programming models and tools.
As tasty as a Smörgåsbord may be, some people find too many choices distracting. I have noticed that when I am with a group at a Chinese restaurant, with 185 numbered entrees on the menu, many people are slow to choose. I have also noticed that decisions are faster if someone makes a recommendation or if there is a "special of the day" highlighted.
If you are hungry for multicore programming, let me recommend the Intel® Parallel Studio XE product and the Intel® Parallel Building Blocks.
If you have a bigger appetite that includes clusters of processors, let me recommend the Intel® Cluster Studio product and the Intel® Message Passing Interface (MPI) Library.
I received some very nice feedback on the articles in the last issue that helped detail these recommendations. If you missed it, I'd encourage you to go back and read Issue 5 as well at http://i.cmpnet.com/ddj/go-parallel/assets/Parallel_Mag_Issue5.pdf.
In this issue, we'll further explore my recommendations by showing more of what these products and programming models are capable of in practice. The aim is to help you determine when these products and programming models make sense for your programming needs. We can't cover everything, but hopefully you'll find something in these pages that helps you.
We have solutions that extend the most used programming languages and programming environments.
As I've mentioned before, computer hardware has never been more complex. The challenge with programming models and tools is to make this complexity manageable by being high level enough to be usable, while still offering control that is sufficiently low level to make the results useful.
Despite our best efforts, the number of solutions can look overwhelming. A colleague of mine called this the "Cambrian Explosion for Parallel Programming." Can we pick the winners?
I think so, because I think we are actually pretty far into the "Cambrian Explosion" (it started with programming languages in general in the 1950s). The winners of this latest era need to extend the winners of the last explosion. We are not starting over. Should we? I don't think so, and I'll leave elaborating on that for another day.
The most popular solutions, a.k.a. "the winners," will be those that extend the most used programming languages.
That explains why Intel® Parallel Building Blocks and the Intel® Parallel Studio XE tools focus on C, C++, and Fortran developers, and enjoy a high degree of popularity as a result. We have solutions that extend the most used programming languages and programming environments.
That said, we still have a lot to learn together.
The articles in this issue will help by exploring programming models and tools to share success and offer tips.
I'm taking feedback on what additional articles, and perhaps a book, would be useful to you. Feel free to drop me a note at james.r.reindlers@*intel.com if you have some suggestions. I have enjoyed hearing from many of you in the past year. Keep the comments coming!
Enjoy!
|