Intel’s Impressive Development Tools
Intel’s innovations are sometimes described as the tick tock model where each tick is a new manufacturing technology and each tock is a new micro-architecture. But that just describes their chipsets. It doesn’t begin to describe the continual evolution of their software development products which have now blossomed into some of the most impressive tools in the industry.
I’m just back from the Intel ISTEP conference held this year in Dubrovnik, where Intel not only showed off a clear and coherent vision for a robust family of software development tools but also put them through their paces exhibiting some of the most intuitive UIs for performance tuning and multi-threaded development that I have seen coupled with powerful capabilities and great flexibility. Take Parallel Building Blocks, for example. Intel has been publishing and promoting tools for multi-threaded development for years and was largely responsible for bringing parallelism to the “masses” via Parallel Studio. But developers often need different tools and techniques for achieving parallelism in differing circumstances and that’s where parallel Building Blocks comes in. It consists of three components for three programming models that can be used separately or in combination. There’s Cilk Plus – the jewel they perfected from their acquisition of Cilk Arts about a year ago. It provides language extensions for C and C++ to enable task and vector parallelism, and works with Windows or Linux to easily enable parallelism. The second building block is the venerable Threading Building Blocks template library for C++ which has been aiding developers in threading their apps for years, but keeps on getting better – it now supports most major operating systems, including Mac OS. Finally Array Building Blocks addresses data parallelism through a sophisticated C++ template. Together the three provide for almost any circumstance.
It used to be that Intel and software products wasn’t a match that immediately came to mind, but these development tools are changing all that. As parallelism becomes more and more imperative for the creation of efficient apps, the Intel family of tools is becoming both more important to developers and way more impressive.