Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

ipp support levels on various processors

spencern
Beginner
280 Views
We're looking at some software that requires a processor with support for at least IPP v5.3. We also have to be able to use it on both Intel and AMD processors. Some detail... it's 32 bit code and therefor exercising MMX aspects of 5.3.

Can anyone point me to a resource that shows what level of IPP is supported for various processors (Intel and AMD)?

Thanks!
Spencer
0 Kudos
4 Replies
Vladimir_Dudnik
Employee
280 Views

Hi Spencer,

IPP is designed to work on any processor which is 100% compatible with Intel Architecture. IPP dispatches optimized code based on processor features and not on manufacturer name. It means, at run time it check if processor support SSE instruction set then SSE optimized code will be used, if SSE2 support is availble then SSE2 optimized code will be launched and so on.

Regards,
Vladimir

0 Kudos
spencern
Beginner
280 Views
Thanks Vladimir,

I think what may be confusing me is that I was under the impression that different processors support different versions of IPP. I'm told the 32 bit software we're looking at can only run on processors that advertise MMX _and_ work with IPP v5.3 or higher. Also that all Intel processors since the P1 should be fine, but some AMD processors provide partial or no support (and we need to run on AMD as well as Intel in this situation).

Am I on the right track. Any idea of a resource where I can see the issues/constraints for different processors for MMX support in IPP?

Thanks,
Spencer
0 Kudos
Vladimir_Dudnik
Employee
280 Views

I'm sorry I failed to understand this question. What kind of different MMX support you are looking for?

Vladimir

0 Kudos
gol
Beginner
280 Views

To my knowledge, IPP will use MMX & SSE's (no 3DNow I would guess), but certainly isn't supposed to require them.

-however- it has probably been designed for Intel's only, meaning that it's not likely to be as optimized for AMD's.

My previous CPU was an AMD Athlon (supports SSE4 I think?) and I know there were IPP functions that I wasn't using in favor of my own that were faster. On my new Intel CPU, I've switched to at least one of the IPP ones which is now faster (it's weird btw, it's a simple peak function on single floats, on my AMD an integer code was faster than IPP's SSE1 code)

IPP dispatches optimized code based on processor features and not on manufacturer name.

Weird, I thought it would be. I mean, knowing that clock cycles, pairing rules, latencies & whatever dependencies can change from a CPU to another, I thought that specific CPU's could benefit from other code, or slight variations of the code for another CPU.

0 Kudos
Reply