Intel's Parallel (Near Term) Roadmap
In wrapping up this year's Intel Software Conference, James Reinders shared a sneak peek of what software developers can look forward to seeing from the company over the coming months, at least in terms of parallel programming tools.
In doing so, Reinders, Intel's director of software development products, focused on three areas which he considered to be key:
- Tools for high-performance computing (HPC) and scientific communities
- Parallel Studio 1.0
- Advancing parallel programming in general
With optimized C++ and Fortran compilers that run on Windows, Linux, and Mac OS X, among other platforms, as well as Threading Building Blocks (TBB), Integrated Performance Primitives (IPP), and the Math Kernel Library (MKL), Intel has long had its foot in the HPC door. And with revisions and updates to its compilers due for release in June of this year, there doesn't seem to be any indication that Intel will take its foot off the HPC throttle. In doing so, both the Fortran and C++ compilers will continue to track and implement standards efforts as they are released.
As for other HPC tools, the VTune performance analyzer will get a number of new features in the coming months, including key technology enhancements to brought over from Parallel Amplifier. In a you-scratch-my-back-and-I'll-scratch-your's scenario, Parallel Amplifier will also be updated with VTune technology, as the two analyzer products will take turns implementing each other's technology. Still, VTune will remain the company's deep-dive performance analyzer tool.
Likewise, the Linux-based Thread Checker, an analysis tool that pinpoints threading errors such as data races and deadlocks in 32-bit and 64-bit applications, will get enhancements originally designed for and implemented in the Windows-based Parallel Inspector.
When turning to Parallel Studio, a suite of tools designed to facilitate parallel programming for developers working in Visual Studio with C/C++ on Windows, Reinders suggested that Intel will be aggressive in updating Parallel Studio 1.0 (the suite is currently in beta). "The feedback from thousands of beta testers has been really good," he explained, "but this will only be version 1." When Version 1.0 is officially rolled out, it will include three of its four components: Parallel Composer, for coding and debugging; Parallel Inspector, a multithreading error checking tool; and Parallel Amplifier, a performance optimizing tool. What won't be included is Parallel Advisor, a design tool that helps developers understand where they can add parallelism to existing source code. The tool is intended to foster better design decisions by showing the consequences of decisions, identifying conflicts, and suggesting ways to resolve conflicts. According to Reinders, Intel plans on released "Parallel Advisor Lite" as a free beta download to Parallel Studio customers when Parallel Studio 1.0 is released, with the full 1.0 release of Advisor due out in 2010. "We'll play it be ear," Reinders explained.
As for plans concerning Windows 7 and Visual Studio, Intel will track Microsoft's progress on those products and stay current with them. (Note that Visual Studio 2010 is not yet in beta.) Intel also plans on supporting Microsoft's Concurrrency Runtime as soon as it is available.
As for advancing parallel programming in general, the bulk of Intel's focus will be on the recently announced Ct. At this stage, Intel has only announced that Ct will be a product, not what that product will be. Reinders did indicate that all Intel parallelizing tools would likely support Ct in some way or another. He added that some Ct-based products would be in beta by the end of the year. But by whatever guise it takes on, a Ct-based product will focus on data parallel programming which lets developers guarantee determinism and ensure scalability. Reinders admitted that guaranteeing deterministic behavior is a "bold" statement. However, he added it's has been done before, "but not with C/C++". Ct also supports "Forward scaling" which means that if your program works okay with 4 or 8 cores, it will work with manycores. The bottom line is that Reinders believes that Ct technology will expand Intel's support for parallelism, much like TBB did.
This Week's Multicore Reading List
MATLAB and Google App Engine
Logging In C++ : Part 2
Improving log granularityA Conversation with BitMagic's Developer
Prefer Structured Lifetimes: Local, Nested, Bounded, Deterministic
- Intel Parallel Studio; Download the free eval today!
- Parallelism Breakthrough Video Series; Watch and learn more about Intel® Parallel Studio
- 2009 Intel Software Webinar Series; View On-Demand webinars
- Coding for Multi-core Processes; Intel® Compiler Pro eBook
- Performance Through Parallelism; Intel® Tuning for Vista eBook
- Intel® Software Network; Connect with developers and Intel engineers
-
November 17, 2009
Visual Effects for Animation - presented by DreamWorks Animation
Speaker: Ron Henderson (Bio)Ron Henderson manages the FX Tools group at DreamWorks Animation, where he is responsible for developing physical simulation and procedural modeling tools. These systems have been used for key visual effects in recent films such as Kung Fu Panda and Monsters vs. Aliens (March 2009).
Prior to joining DreamWorks in 2002 he was a senior scientist at Caltech with a joint appointment to the Applied Math and Aeronautics departments, where he worked on efficient techniques for the direct numerical simulation of fluid turbulence.Abstract:
In this webinar, Ron Henderson will show examples of visual effects, from hair and feathers to smoke and fire, from a variety of DreamWorks Animation feature films. He will discuss in general terms the kinds of techniques used to achieve particular visual effects. Finally, Henderson will show a detailed breakdown of the dam-breaking scene from Madagascar: Escape 2 Africa, demonstrating how different elements of key frame animation, simulation, and rendering are combined in a real production shot. -
December 1, 2009
A Quick and Easy Way to Parallelize a Legacy Codebase with Intel® Threading Building Blocks (TBBs)
Speaker: Bernard Laberge, Avid, Senior Principal Engineer (Bio)Bernard Laberge is a senior principal engineer in the video editors division at Avid. During his seven years with the company he has been actively involved in the replacement of the legacy video processing engines used by Avid editors with a common hardware-abstracted, component-based video processing engine currently running on the CPU with SIMD optimized code, GPU, and dedicated hardware.
Abstract:
Learn how to overcome the limitations of a thread-based scheduler, including dealing with the absence of recursive parallelism support and the inefficient handling of unbalanced processing load. Bernard Laberge addresses how Avid resolved the expensive refactoring of their thread-based scheduler into a task-based solution by choosing Intel® Threading Building Blocks (TBBs). He explores how Avid was able to easily integrate the Intel TBBs into their video editor applications and more than 5 million lines of code. -
December 15, 2009
How to Use Intel® Parallel Studio to Streamline Code Development in a Multicore Environment
Speaker: Matt Dunbar, Director for Performance Technology, SIMULIA (Bio)Matt Dunbar is the director for performance technology at SIMULIA. Since joining the company in 1993, he has worked on parallelization of the Abaqus suite of products, initially for shared memory architectures and more recently for distributed memory architectures. Dunbar has also been intimately involved in selecting both the hardware and software tools used in the development of the Abaqus product line.
Abstract:
Resolve elusive, costly multithreading errors quickly and efficiently with Intel® Parallel Studio. While many coding problems that lead to bugs in software applications are typically straightforward logic errors, errors in managing memory and in multithreading code can sometimes take weeks to months to diagnose and fix. Matt Dunbar explores how and why taking advantage of multicore processors through multithreaded code is critical for compute-intensive applications. While spotlighting his work on SIMULIA's Abaqus finite element solver, Dunbar addresses the need for multicore execution and shares his experiences using Intel Parallel Studio to streamline code development in a multicore environment.



