X

Intel: Optimize applications for multicore

Company is set to release tools for writing parallel threads, which help apps take advantage of multicore chips.

Martin LaMonica Former Staff writer, CNET News
Martin LaMonica is a senior writer covering green tech and cutting-edge technologies. He joined CNET in 2002 to cover enterprise IT and Web development and was previously executive editor of IT publication InfoWorld.
Martin LaMonica
2 min read
Intel is expected to release on Monday development tools designed to help programmers at software companies take advantage of the added computing power available on multicore systems.

The chip giant has forecast that by the end of this year, about 70 percent of its chips will be multicore. That is, each processor will host more than one processing unit, a design that increases performance without increasing power consumption.

A new product, called Intel Threading Building Blocks, is an extension to the C++ programming language used to ease the process of writing parallel routines, or threads, within an application, said James Reinders, director or marketing for Intel's developer products division.

Two of Intel's existing multithreading tools, called Intel Thread Checker 3.0 and Intel Thread Profiler 3.0, add support for 64-bit processors and the Linux operating system, he said.

Multicore applications do boost performance of existing applications because they are more powerful. But to have a more dramatic improvement, software makers need to write applications where separate tasks can be done in parallel, Reinders said.

"If you take any particular application, something like photo editing, none of it is taking advantage of parallelism," he said. "But photo and especially video editing is a pretty obvious place."

He said that Adobe has optimized its video-editing application Premier 2.0 for dual-core systems now on the market.

Adding parallel processing to existing applications is "a lot of extra work," Reinders said. With Intel Threading Building Blocks, Intel has made it easier to manage threads by automating some of the process of breaking down an application into concurrently run tasks, he said.

"It's not intrinsically harder to write threads, but developers need to get used to thinking that way and we need help from the tools," Reinders said. "In the serial world, it doesn't matter which order you do things or how you break them down."