Developer Guide

Contents

Building Intel® IPP TL Libraries from Source Code

You can find the TL libraries source code and the
tl_resize
example in the
/components/interfaces/tl
directory inside the
components_and_examples_<
os
>
archive available in
<
ipp directory
>/components/
. Before building an application that uses TL, make sure that the
IPPROOT
environment variable is set correctly and points to the Intel IPP library location, for more information see Setting Environment Variables.
To build Intel IPP TL libraries and the
tl_resize
example, do the following:

Windows* OS

Prerequisites:
The
tl_resize
example uses OpenGL rendering to display results. This requires Windows* SDK to be installed on your system. Usually Windows* SDK is provided with the Microsoft* Visual Studio* distribution. Alternatively, you can download Windows* SDK for your version of Windows* OS from https://www.microsoft.com. To disable the rendering part of
tl_resize
, remove the
ENABLE_RENDERING
macro from the preprocessors definitions.
  1. Open the
    tl.sln
    file in Microsoft* Visual Studio*.
  2. Choose the required configuration in the solution and build the solution using the
    Build
    command. The example will be linked with the newly built TL libraries from the same solution.
To build TL libraries on the Intel® Threading Building Blocks (Intel® TBB) library, you need to install the Intel TBB library (for the Intel IPP standalone package).

Linux* OS

Prerequisites:
The
tl_resize
example uses OpenGL rendering to display results. This requires the following packages to be installed:
  • libx11-dev
  • libgl1-mesa-dev
Execute the following commands using gcc4 or higher:
  • To build TL libraries:
    make libs [ARCH=ia32|intel64] [CONF=release|debug] [TBBROOT=]
  • To build the
    tl_resize
    example and TL libraries:
    make all [ARCH=ia32|intel64] [CONF=release|debug] [RENDERER=0|1] [TBBROOT=]
If
TBBROOT
is set to the Intel® TBB installation root, TL libraries will be built with the TBB support. In this case, you need to install Intel TBB library (for the Intel IPP standalone package).
If
TBBROOT
is set to nothing, the OpenMP* support will be used.

macOS*

You can build TL libraries and the
tl_resize
example using the Apple Xcode* workspace provided in the
/components/interfaces/tl
directory. Alternatively, you can use makefiles:
  • To build TL libraries:
    make libs [ARCH=ia32|intel64] [CONF=release|debug] [TBBROOT=]
  • To build the
    tl_resize
    example and TL libraries:
    make all [ARCH=ia32|intel64] [CONF=release|debug] [RENDERER=0|1] [TBBROOT=]
If
TBBROOT
is set to the Intel® TBB installation root, TL libraries will be built with the TBB support. In this case, you need to install Intel TBB library (for the Intel IPP standalone package).
If
TBBROOT
is set to nothing, the OpenMP* support will be used.
To build TL libraries on OpenMP*, you need to use the custom compiler, because the macOS* Clang compiler does not support OpenMP*. You can do one of the following:
  • Use Intel® Compiler (installed with Intel® Parallel Studio XE) with Makefile scripts:
    1. Change directory to the
      /components/interfaces/tl
      folder
    2. Run the following command:
      make CC=icc CXX=icc
    3. Before running the application, specify the path to the OpenMP* library:
      DYLD_LIBRARY_PATH=/opt/intel/compilers_and_libraries/mac/lib/
  • Use mainline Clang compiler that can work with Xcode*:
    1. Install Homebrew* from http://brew.sh/
    2. Run
      brew install llvm
      . The latest mainline
      llvm
      version will be installed to
      /usr/local/opt/llvm
      (if the installation folder is different, you will need to update Xcode* paths for
      CC
      and
      Library Search Paths
      properties).
    3. Build Xcode* projects for TL libraries.

Product and Performance Information

1

Intel's compilers 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 SSE2, SSE3, and 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. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804