I Multicore World, 27-28 March 2012, Wellington, New Zealand
Abstract- We use applications. Computers are nothing more than appliances to support software we care about. Back when clock speeds increased between hardware generations, we could get away with a hardware obsession. Those days, however, are gone forever. With cores proliferating on a chip from one generation to the next, parallelism is the defining feature of our systems; and since automatic parallelism is unlikely to ever succeed, programmers are forced to write parallel software “by hand”.
There is no simple solution to this software problem. We can’t sit around hoping for an elegant “silver bullet” that will make this problem go away. Instead, we have to take action and approach our software problems from many directions at once. We need to:
embrace hardware/software co-design so people can actually use the hardware we build,
create a low level, portable software foundation to protect expensive investments in parallel software, and
recognize that over time, more and more programmers will be domain experts rather than trained computer scientists.
In this talk, I will address these 3 issues in the context of my work on Intel’s 80 and 48 core research processors, industry standards such as OpenCL and OpenMP, and systematic development of software frameworks derived from design pattern languages
(NB.- Apologies for the quality of the audio)