by admin on Oct.08, 2009, under Uncategorized
This is my first post here, so I&aposd like to introduce myself: I&aposm Michael McCool, formerly Chief Scientist and co-founder of RapidMind, now a Software Architect within the Software and Services Group at Intel. While my title has changed, my job description hasn&apost: I&aposm still working on creating technologies that support the efficient construction of efficient multicore and manycore parallel software. And yes, I did mean to use "efficient" twice!
Everyone has been working hard on integrating RapidMind&aposs team and technology into Intel&aposs Ct project, as well as continuing our research and development in key application areas. I&aposm looking forward to showing off the results of our efforts soon.
One of the things I will be doing here is continuing my series on "structured parallel programming patterns" via a series of blog posts. After looking at many applications, we realized that many parallel algorithms could be broken down into the composition of a small set of computational and data access patterns, sometimes called "algorithmic skeletons". These are not specific language features, but things like "map" (application of a function over an index space) and "nesting" (recursive composition) that are useful in many different contexts and supported in different ways by different software development platforms. By studying the patterns that are "natural" in various applications domains and coordinating that with the development of platforms supporting those patterns I hope to drive the development of software interfaces and platforms that make the "natural way" of expressing a solution also be the "right way". Many of these patterns are also structured and deterministic, and so supporting them in platforms can in turn support the development of reliable and maintainable parallel software.
In the near future, I&aposll also be going to SIGGRAPH Asia 2009 in Yokohama and SC09 in Portland. I&aposll be giving presentations at these events, but will also participating in less-formal events. I&aposll provide details soon, but if you are interested in the current state and evolution of support for parallel computing, I would be very happy to talk with you.