Supplied Libraries

Libraries are an indexed collection of object files that are included as needed in a linked program. Combining object files into a library makes it easy to distribute your code without disclosing the source. It also reduces the number of command-line entries needed to compile your project.

The Intel® compiler provides different types of libraries, such as static or dynamic, single-threaded or multi-threaded.

You can use the -shared-intel compiler option on the command line to specify that you want to use the dynamic versions of all Intel libraries.

The file credist.txt in install-dir/Documentation/language lists the Intel compiler libraries that are redistributable.

The table below shows the libraries provided for the compiler.

Library

Description

libcilkrts.so

libcilkrts.so.5

Intel runtime for Intel® Cilk™ Plus C++ language extensions.

There is no static version of the library.

cilk_db_32.so

cilk_db_64.so

Library for the debugger to read Intel® Cilk™ Plus data structures.

libiomp5.so

Compatibility OpenMP dynamic runtime library.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libiomp5.a

Compatibility OpenMP static runtime library.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libiompprof5.so

Compatibility OpenMP dynamic profiling runtime library.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libiompprof5.a

Compatibility OpenMP static profiling runtime library.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libiompstubs5.so

Compatibility OpenMP dynamic stubs runtime library.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libiompstubs5.a

Compatibility OpenMP static stubs runtime library.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libimf.a

libimf.so

Intel math library.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libimf_pic.a

Intel math library, static PIC version. You can statically link this library into a user dynamic shared library on IA-32 architecture-based systems.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libdecimal.a

Intel IEEE* 754-2008 decimal floating-point math library, static.

libsvml.a

libsvml.so

Short vector math library.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libirc.a

libirc_s.a

Intel support libraries for CPU dispatch,intel_fast_*, and traceback support routines. This is the static thread-safe version.

On IA-32 architecture, these libraries are not built with the -fpic option. On Intel® 64 architecture, these libraries are built with the -fpic option.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libirc_fp.a

IA-32 architecture only

Intel support libraries for CPU dispatch, intel_fast_*, and traceback support routines.

This is the static thread-safe version built with the -fno-omit-frame-pointer option to aid in debugging.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libirc_pic.a

libirc_s_pic.a

IA-32 architecture only

Intel support libraries for CPU dispatch, intel_fast_*, and traceback support routines.

This is the static thread-safe version built with the -fpic option so that these libraries can be linked statically into a shared library.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libintlc.so

libintlc.so.5

libirc.so

Intel support libraries for CPU dispatch, intel_fast_*, and traceback support routines.

This is the shared thread-safe version.

libirc.so is the same as libintlc.so and is supplied for legacy purposes.

Many routines in this library are more highly optimized for Intel microprocessors than for non-Intel microprocessors.

libifcore_pic.a

Intel Fortran I/O and intrinsic support runtime library. This is the static non-thread-safe version built with the -fpic option so it can be linked statically into a shared library.

When you invoke the -cxxlib option, libcprts is replaced with libstdc++ from the gcc* distribution (3.2 or newer).

Caution iconCaution

The Linux* OS system libraries and the compiler libraries are not built with the -align option. Therefore, if you compile with the -align option and make a call to a compiler distributed or system library, and have long long, double, or long double types in your interface, you will get the wrong answer due to the difference in alignment. Any code built with -align cannot make calls to libraries that use these types in their interfaces unless they are built with -align (in which case they will not work without -align).

Math Libraries

The Intel math library, libimf.a, contains optimized versions of math functions found in the standard C run-time library. The functions in libimf.a are optimized for program execution speed on Intel processors. The Intel math library is linked by default.

Optimization Notice

Intel® Compiler includes compiler options that optimize for instruction sets that are available in both Intel® and non-Intel microprocessors (for example SIMD instruction sets), but do not optimize equally for non-Intel microprocessors. In addition, certain compiler options for Intel® Compiler are reserved for Intel microprocessors. For a detailed description of these compiler options, including the instruction sets they implicate, please refer to "Intel® Compiler User and Reference Guides > Compiler Options". Many library routines that are part of Intel® Compiler are more highly optimized for Intel microprocessors than for other microprocessors. While the compilers and libraries in Intel® Compiler offer optimizations for both Intel and Intel-compatible microprocessors, depending on the options you select, your code and other factors, you likely will get extra performance on Intel microprocessors.

While the paragraph above describes the basic optimization approach for Intel® Compiler, with respect to Intel's compilers and associated libraries as a whole, Intel® Compiler may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® SSSE3) instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors.

Intel recommends that you evaluate other compilers to determine which best meet your requirements.

See Also


Submit feedback on this help topic

Copyright © 1996-2010, Intel Corporation. All rights reserved.