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