• 09/03/2020
  • Public Content

Intel® SIMD Data Layout Templates

Intel® SIMD Data Layout Templates (Intel® SDLT) is a template library providing C++ template containers allowing use of an array of "Plain Old Data" (POD) structure that use an in-memory layout to encourage SIMD vector code generation. The Intel SDLT offers C++ template interfaces using C++11 so it does not require any special compiler support to work; but because of its SIMD-friendly layout it can better take advantage of the Intel® compiler's performance features i.e. OpenMP* SIMD extensions, Intel® Cilk™ Plus SIMD extensions, and SIMD/IVDEP pragmas. To simply put Intel® SDLT library provides an Array of Structure interface to the user but stores the data in Structure of Array format in memory.
To learn more about the Intel® SDLT, please see Introduction to the Intel® SIMD Data Layout Templates (Intel® SDLT) in Intel C++ Compiler 17.0 User and Reference Guide
  • Intel® SIMD Data Layout Templates (Intel® SDLT) samples
  • Click on the sample name to see an in-depth description and source code.
    Sample Name
    Program Domain/Area
    Description
    Target Platforms
    OSes
    Image Processing
    An Averaging filter is a commonly used filter in the field of image processing and is mainly used for removing any noise in a given image. Usage of Intel® SDLT and
    #pragma simd
    Desktop
    Windows*; Linux*
1

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 reserverd 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