Intel® Integrated Performance Primitives (Intel® IPP) - Calling Signal Processing Functions

Calling Intel IPP Functions
Which version of ippsFIR could be used to map old Intel® Signal Processing Library (SPL) "nspcsbFir" function?
Is there any available document to help SPL migration to Intel IPP?
Can the Intel IPP operate on real/complex combination of data that have been used for FIR, IIR and CrossCorr in Intel SPL?
Which FIR routine should I use for the fastest speed of execution - ippsFIR or ippsFIR_Direct?

Calling Intel IPP Functions
Calling Intel IPP functions is as simple as calling any other C function:

  1. Include the ipp.h header file.
  2. Call Intel IPP functions.

Which version of ippsFIR could be used to map old Intel® Signal Processing Library (SPL) "nspcsbFir" function?
Either direct version or state version of ippsFIR could be used to map "nspcsbFir" function, but for performance concerns, the state version of ippsFIR should be used. Because of the following:

  • The FFT is used inside of ippsFIR.
  • The direct version is just a simple version without any structures that must be initialized.


Is there any available document to help SPL migration to Intel IPP?

Yes. We have provided a detailed migration document on our website. This document contains a table that lists the Intel SPL functions together with the corresponding Intel IPP functions. Even if you do not find a direct analog to the desired Intel SPL operation in the Intel IPP package, you can almost certainly find a set of Intel IPP functions that provide the desired functionality. For more information on domain library migration to Intel IPP, please refer to the Domain Library Migration FAQ.

Can the Intel IPP operate on real/complex comb ination of data that have been used for FIR, IIR and CrossCorr in SPL?
For example, if you need FIR with taps of 32fc type and src of 32f type then you can do the following:

src32fc = ippsMalloc_32fc( len );
dst32fc = ippsMalloc_32fc( len );
ippsRealToCplx( src, (Ipp32f*)0, src32fc, len );
//FIR 32fc with src32fc, taps and dst32fc
ippsReal_32fc( dst32fc, dst, len );

Which FIR routine should I use for the fastest speed of execution - ippsFIR or ippsFIR_Direct?
The ippsFIR_Direct is faster because ippsFIR (non-direct form) uses FFT beginning at the certain length of the data and the ippsFIR uses frequency-domain filtering.

Operating System:

Red Hat* Enterprise Linux Desktop 4, Windows Server* 2003 Standard x64 Edition, Mac OS*, Red Hat* Enterprise Linux 2.1, SUSE* Linux 9.1, SUSE* Linux Enterprise Server 8.0, SUSE* Linux Enterprise Server 9.0, Windows* XP Professional, Red Hat* Linux 7.3, Red Hat* Linux 8.0, Windows Server* 2003, Red Hat* Linux 9.0, Red Hat* Enterprise Linux 3.0, SUSE* Linux* 8.2, Windows* XP 64-Bit Edition Version 2003
Для получения подробной информации о возможностях оптимизации компилятора обратитесь к нашему Уведомлению об оптимизации.