Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 10/31/2024
Public
Document Table of Contents

Building Intel® IPP TL Libraries from Source Code

The threading layer (TL) libraries' source code and the tl_resize example are in the following file path: <oneapi>/share/doc/ipp/components_and_examples_<os>/components/interfaces/tl. Before building an application that uses TL, ensure that the IPPROOT environment variable is set correctly and points to the Intel® Integrated Performance Primitives (Intel® IPP) library location. For more information, see Setting Environment Variables.

The steps to build Intel IPP TL libraries and the tl_resize example for Windows* and Linux* are outlined below.

Windows

The tl_resize example uses OpenGL* rendering to display results. To disable the rendering part of tl_resize, remove the ENABLE_RENDERING macro from the preprocessors definitions.

To build Intel IPP TL libraries:

  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.

NOTE:
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

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 GCC 4.0 or higher:

  • To build TL libraries:
    make libs [ARCH=intel64] [CONF=release|debug] [TBBROOT=]
  • To build the tl_resize example and TL libraries:
    make all [ARCH=intel64] [CONF=release|debug] [RENDERER=0|1] [TBBROOT=]

NOTE:
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.