Tools for creating multithreaded applications, Tools for creating multithreaded applications -14 – Intel ARCHITECTURE IA-32 User Manual

Page 360

Advertising
background image

IA-32 Intel® Architecture Optimization

7-14

Tools for Creating Multithreaded Applications

Programming directly to a multithreading application programming
interface (API) is not the only method for creating multithreaded
applications. New tools such as the Intel

®

Compiler have become

available with capabilities that make the challenge of creating
multithreaded application easier.

Two features available in the latest Intel Compilers are:

•

generating multithreaded code using OpenMP* directives

4

•

generating multithreaded code automatically from unmodified
high-level code

5

Programming with OpenMP Directives. OpenMP provides a
standardized, non-proprietary, portable set of Fortran and C++ compiler
directives supporting shared memory parallelism in applications.
OpenMP supports directive-based processing. This uses special
preprocessors or modified compilers to interpret parallelism expressed
in Fortran comments or C/C++ pragmas. Benefits of directive-based
processing include:

•

The original source can be compiled unmodified.

•

It is possible to make incremental code changes. This preserves
algorithms in the original code and enables rapid debugging.

•

Incremental code changes help programmers maintain serial
consistency. When the code is run on one processor, it gives the
same result as the unmodified source code.

•

Offering directives to fine tune thread scheduling imbalance.

•

Intel’s implementation of OpenMP runtime can add minimal
threading overhead relative to hand-coded multi-threading.

4.

Intel Compiler 5.0 and later supports OpenMP directives. Visit

http://developer.intel.com/software/products

for details.

5.

Intel Compiler 6.0 supports auto-parallelization.

Advertising