For those of not in attendance, James Reinders gave an enthralling talk at the recent Blackbelt thank you dinner at IDF 2011. He talked of his passion for creating the fastest computing environments in the world, be it through his history in developing the world's first TeraFLOP supercomputer to his work today creating the world's best software tools for parallelism. He said that his great pleasure was creating the tools for innovation and then watching the fabulous things that the developer community did with these tools.
One of the topics he brought up which need for C and C++ to become the one of the languages of choice for Parallelism, and specifically, the need for parallel features to become "first class citizens." James called out the approach taken by Intel® Cilk™ Plus as one that is easy to understand, easy to use and scales well.
James also issued us a challenge; How do we close the gap between hardware - many many cores are here now and more are on the way (think MIC) - and programming platforms- still struggling under the legacy of serial architecture?
The folks in my Academic Community were excited by his talk. I am working with some of them now, literally now, we are working as I type, on a new version of the ACM Tech Pack for Parallel Programming. The Tech Pack offers guidance on how to transition from being a competent programmer, to becoming a parallel programmer. The first version of the Tech Pack offered an overview of parallel computing for a mythical journeyman programmer. The new version is a drill down focusing on specific aspects of parallel computing - Design Patterns, Data Structures and System Issues. Also integral to then new version are in-depth exemplars for each of these sections consisting of code samples with examples from different parallel languages and platforms.
We are privileged to have fabulous contributors on the project, many drawn from EAPF.org: Tim Mattson is leading the charge on Design Patterns, Benedict Gaster is lead contributor for Data Structures and Wen-mei Hwu is providing guidance on system issues. Of course there are many more collaborators including Intel Blackbelts Matt Wolf, Tom Murphy and Dick Brown, Intel architect Clay Breshears, Industry leaders such as Kevin Goldsmith of Adobe and Daniel Ernst of Cray not to mention academicians such as Charlie Peck of Earlham College and Jens Mache of Lewis and Clark College.
So I began this blog with a report of James Reinder's challenge to us at the IDF dinner. I'll extend a challenge to readers of this blog-- Engage with us in the Tech pack as well as our other efforts here at the Intel Academic Community. Let your voice, ideas and innovations be heard. We'll soon be releasing the Tech Pack draft for reviews - let me know if you'd like to be a reviewer. Respond to this blog or write me an email at firstname.lastname@example.org. Write a blog of your own; I can set you up here at Intel. Put your own parallel code out to the community on the Intel Academic Exchange. Heck, we may even give you the resources to help you do it.
Just do something - there are a lot of us waiting to work with you.
Throwing down the gauntlet: James Reinders and the Tech Pack for Parallelism
For more complete information about compiler optimizations, see our Optimization Notice.