is looking to encourage adoption of multicore CPUs, but even more important is looking to encourage development that takes advantage of them. The majority of desktop software cannot fully utilize the potential of systems with two or more cores, and programming with that in mind is more difficult. To help that, Intel is offering up open-source
code. In particular, they are released their Thread Building Blocks template library for C++ to open source, putting it under the GPLv2 license.
By giving this tool out, they hope that creating software for multi-core systems will be made easier and done more often. Easier platforms means easier development:
Intel TBB provides an abstraction for parallelism that avoids the low level programming inherent in the direct use of threading packages such as p-threads or Windows threads.
The most interesting point to me, though, was that the template can adjust itself based on the number of cores to be used:
It detects the number of cores on the hardware platform and makes the necessary adjustments as more cores are added to allow software to adapt. Thus, more effectively taking advantage of multi-core hardware.
The only difference between the now open-source version and the commercial version appears to be technical support and potentially future upgrades. There is a site dedicated
to discussing specifically TBB. You can also read the full press release
at Intel's site.