Starting with Intel® Integrated Performance Primitives (Intel® IPP) 9.0, the Intel® IPP Generated Transforms (ippGEN) domain functions are legacy. This domain was generated by the Spiral tool*. This domain won't be optimized for new architectures (the latest optimizations are targeted for Intel® Advanced Vector Extensions)and any newly detected performance and stability issues won't be fixed.
Here are some alternatives to substitute ippGEN functionality used in your application:
- Alternative Intel® IPP functions
- Alternative open-source libraries
The alternative Intel® IPP functions
The ippGEN domain is a part of Intel® IPP that operates on one-dimensional signals for applications that require maximum performance. This domain provides the C programming language interfaces for several fixed-length linear transforms like Hartley transform (DHT), Walsh-Hadamard (or Hadamard) transform (WHT), discrete cosine transform (DCT-IV) and discrete Fourier transform (DFT).
Intel® IPP signal processing (ippSP) domain provides the substitutions for DCT and DFT functionalities. The ippsDFT and ippsDCT functionalities with arbitrary vector length can be effectively used as an alternative for the fixed-length transform functions in ippGEN domain. The DHT and WHT functions are not included in the single processing domain now.
The Intel® ippGEN domain only includes the optimization with Intel® Advanced Vector Extensions(Intel® AVX) instruction set, while ippSP domain functions include more optimization with Intel® Advanced Vector Extensions 2(Intel® AVX2), Intel® Advanced Vector Extensions 512(Intel® AVX-512) on Intel® Xeon® processors and Intel® AVX-512 on Intel® Xeon Phi™ coprocessors. The DFT functions in ippGEN domain were only optimized for the small vector length from 1 to 64. The DFT functions in signal processing domain provide highly optimized solution for arbitrary vector length from 1 to up 2^28, depending on data types(real,complex, 32 bit float, or 64 bit double).
Some open source options
Some open-source libraries, for example the FFTW* libraries, or the Spiral tool for generating, could be the options for the Hartley transform, Walsh-Hadamard,or Walsh-Hadamard transform. Check the table below on a summary on ippGEN domain alternatives.
Hartley transform (DHT)
Spiral, FFTW, etc.
Walsh-Hadamard transform (WHT)
Spiral, FFTW, etc.
discrete cosine transform (DCT-IV)
ippsDCT (using related GetSize, Init, Fwd and Inv transform interfaces)
discrete Fourier transform (DFT)
ippsDFT (using related GetSize, Init, Fwd and Inv transform interfaces)