Intel® Integrated Performance Primitives

"Illegal instructions" errors for some Intel® IPP functions

Some Intel(R) IPP functions may report "illegal instructions” errors on the Intel® AVX-512 processor systems running with Windows* 7 Service Pack 1 (SP1) OS.  The problem only happens with such specific systems.

The problem is caused by the incorrect code dispatching for that specific systems. Intel® IPP dispatched the Intel® AVX-512 optimization code, which is not supported by that OS.

  • Microsoft Windows* (XP, Vista, 7)
  • Intel® Integrated Performance Primitives
  • illegal instructions
  • AVX512
  • Illegal Instruction crash with ippsFFTInit_C_32fc under 64Bit compiler


    -the following code snippet works under 32 Bit compiler, but never under 64 Bit compiler (using Embarcadero C++ Builder)

    -it always crashes in ippsFFTInit_C_32fc()

    void __fastcall TIppTestForm::FftButtonClick(TObject *Sender)
    #define  FFT_ORDER         18

    How to use ippInitCpu(ippCpuSSE3) in IPP 9.0

    Hi All,

    I have working with code which is using following  IPP-6.0 API

    IppStatus status = ippInitCpu(ippCpuSSE3);
     if (status != ippStsNoErr)
         throw IPException(SOURCE, "ippInitCpuFailed - %s", ippGetStatusString(status));

    For some reason I am forcing CPU to use SSE3. But the latest ipp library  -IPP_2017_3_210 – doesn’t have these function and neither IPP legacy has this. But, I want to  force CPU to use SSE3 in latest IPP version but I am not getting the right way of doing it. 

    sharing buffers for forward and inverse DCT


    From the documentation, it is not clear weather ippsDCTFwdInit_32f and ippsDCTInvInit_32f can share the same memory space.

    For a given length, ippsDCTFwdGetSize_32f and ippsDCTInvGetSize_32f do return the same sizes, and allocating the Ipp8u buffers once for both forward and inverse transform seems to work.

    However, I assume there is a reason for which both pairs of functions exist.

    Any clue?

    thanks, piem

    How to propose an addition to the IPP library

    I have a user-mode virtual memory library that I think might fit well in the IPP library (or possibly another Intel library). It allows access to multi-gigabyte virtual memory vectors with a convenient interface and high performance. It would also go very well with byte-addressable Optane memory.

    Whom should I contact about this possibility?

    Subscribe to Intel® Integrated Performance Primitives