Directory Stucture Layout Changes
The Intel® IPP library is available as a standalone product or as a component in Intel® Composer. A variety of Intel software development "suite" products include Intel Composer, including Intel® Parallel Studio. With the release of Intel IPP 7.0, a new directory structure has been implemented to simplify integration of the Intel IPP standalone products with other Intel software development products. This new directory structure also applies to other Intel software development products, such as the Intel Compiler, Intel MKL, Intel TBB, etc.
Note: the library's directory layout changes impact both Windows* and Linux* developers. The examples shown here are for a Windows system.
Following is a summary of key changes to the Intel IPP 7.0 directory layout:
- Directories formerly designated as "em64t" are now designated by the "intel64" tag.
- Intel IPP shared libraries (*. dll and *.so) have been relocated to a "redist" directory (see diagram below).
- The OpenMP* libraries and other Intel Compiler redistributable libraries (included with the Intel IPP library) are now located in a common compiler "redist" directory (see diagram below). Note: the static edition of the Intel OpenMP library has been deprecated with this release of the IPP library and should not be used for new projects, please use the shared version of the library.
- IPP documentation has been relocated to a common directory.
- Multiple "bin" directories contain utilities to support the development process, such as scripts to set the IPP environment variables.
- The Intel IPP "lib" directory contains only linkable objects, including the serial static library files, threaded static library files and dynamic stup library files.
- A new "interface" directory has been introduced with this release. It includes high-level applications and/or libraries that utilize the IPP library. Source and pre-built binaries can be found in these directories and are ready to use in your application.
The following diagram compares the 6.1 directory structure to the 7.0 directory structure:
Note: the "Program Files (x86)" name shown above indicates installation on a 64-bit Windows system. Installation on a 32-bit Windows system alway occurs in the "Program Files" directory.
Note: when installed as part of the Parallel Studio product, the top-level directory containing Intel Composer components (such as the Intel IPP library) includes one additional level and is named: "C:\Program Files\Intel\Parallel Studio xxxx\Composer\" rather than: "C:\Program Files\Intel\ComposerXE-xxxx\" as shown in the diagram above.
The new "interfaces" directory contains a collection of popular high-level applications or libraries that have been "enabled" by application of the IPP library. These ready to use modules are functionally equivalent to the popular applications from which they are derived. In most cases they can be used as drop-in replacements for the non-IPP version of the library or application, giving you immediate access to the acceleration features of the IPP library.
Library Filename Changes
Library filenames have also been changed in version 7.0 of the Intel IPP library. The merged/merged_t and emerged static library components have been combined into a single set of files for the serial static library and another set for the threaded static library files. Library filenames ending in an "_l" are single-threaded static libraries and those that end in an "_t" are multi-threaded static libraries. Libraries without postfixes in the name are shared object import libraries. Please see Intel IPP 7.0 - Selecting the Intel® IPP Libraries Needed by Your Application for more details.
For example, the following 6.1 link command line:
ippccemerged.lib ippccmerged.lib ippjemerged.lib ippjmerged.lib ippiemerged.lib ippimerged.lib ippsemerged.lib ippsmerged.lib ippcorel.lib
ippcc_l.lib ippj_l.lib ippi_l.lib ipps_l.libippcore_l.lib
when using the Intel IPP 7.0 library.
See also this KB article: Intel® IPP linkage models - quick reference guide.