Offshore Outsourcing will help you to reduce cost and enhance your productivity

Home About Us Services Partners Articles Classifieds Directory Contact Us
Computers Networks
Operating Systems
Data Storage
Software Engineering
Information Technology
Online Rights - Law
IT Outsourcing
Business Consulting
Finance & Accounting
Graphic Design
Web Services
Search Engine Optimization
Open Source

Intel updates compilers for multicore era

Intel has announced major updates for its C++ and Fortran tools, updates that are aimed at making it easier for programmers to exploit thread-level and data-level parallelism in multicore processors. On the data parallelism side, the Intel C++ Compiler and Fortran Professional Editions both sport improved auto-vectorization features that can target Intel's new SSE4 extensions. For thread-level parallelism, the compilers support the use of Intel's Thread Building Blocks for automatic thread-level optimization that takes place simultaneously with auto-vectorization.

The version 10.0 compilers are actually the first from Intel that can do both auto-vectorization and thread-level optimization simultaneously in one pass. "Combining these capabilities in a cooperative and coordinated manner brings our customers added performance benefits and compiler reliability, which in turn gives greater PC responsiveness for gamers and everyday PC users," said Kevin J. Smith, director of the Intel Compiler Products.

Both editions are available for Windows, Linux, and OS X, for prices ranging from $599 to $1,599. The Fortran compiler now integrates with Microsoft Visual Studio, so that Windows Fortran developers can now use Microsoft's graphical development environment.

Intel is encouraging the widespread use of its Intel Threading Tools as an interface to its multicore processors. As the company raises the core count with each generation of new products, it will get harder and harder for programmers to manage the complexity associated with all of that available parallelism. So the Thread Building Blocks are Intel's attempt to insert a stable layer of abstraction between the programmer and the processor so that code scales less painfully with the number of cores.

Software/hardware hybrid processors

Intel has always been in the software development tools business, but increasing core counts will continue to bring this involvement to new levels. I've outlined before how multicore moves the burden of taking advantage of Moore's law from hardware onto developers. So for Intel to get the kind of performance scaling that sells new products, they're going to have to be even more intimately involved in building and optimizing the growing amount of abstraction that sits between a coder and a highly parallel processor (or processor/coprocessor combination).

In many ways, a massively multicore processor is almost a software/hardware hybrid chip, with a low-level software stack that's more critical than ever to the performance of the hardware. This stack includes both compile-time and run-time components, though right now Intel is seems to be focused on the compile-time portion. A number of third-party efforts have cropped up to address the run-time component, and I expect to see Intel get more involved with the run-time side of the stack, as well. Indeed, I think this apparent compile-time focus is only the publicly visible tip of the iceberg of what Intel's software researchers are working on. The Ed Davis presentation that I referenced in a previous article today indicates clearly (slide 15 of the original) that Intel sees run-time support for parallelization—as well as more hardware support at different levels of the system architecture—as the future of what the company calls "tera-scale computing."

Interesting enough, one of the aforementioned third-party middleware companies, Peakstream Inc., has now disappeared from the map. I've covered Peakstream's CPU- and GPU-oriented middleware layer extensively here at Ars, and now their website is down and they're not responding to calls. The company has almost certainly been acquired (with valuable IP like that there's no way they went under), and there's some speculation that Peakstream was bought by IBM, Red Hat, or Hewlett-Packard. Peakstream founder and CTO Matthew Papakipos is an NVIDIA alum, so it may be that NVIDIA has picked up the company as part of their coming HPC play. Who knows. However, I do know that Matthew reads Ars from time to time, so if you're reading this Matthew, then drop me an email.