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

Can I use Intel IPP on AMD* CPU?

kkirtac
Beginner
4,623 Views
Hi, we are developing an image/signal processing application that need to work without a processor-brand constraint.
While developing the code, do we have to take any manual precaution regarding different processor families such as AMD?
Should we develop different codes, namely the generic and IPP? Or do we develop the code with IPP support but it won't work optimized if it detects a non-Intel cpu ?
0 Kudos
7 Replies
Ying_H_Intel
Employee
4,623 Views

Hello kkirtac,

IPP support all Intel Processor orthe processors from other manufacturers supporting the same instruction set. So it should be no problem to use IPP on non-intel cpu.

For IPP optimized Code, see more information here:
<http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp/>

All my Best,
Ying
0 Kudos
kkirtac
Beginner
4,623 Views
Quoting - Ying Hu (Intel)

Hello kkirtac,

IPP support all Intel Processor orthe processors from other manufacturers supporting the same instruction set. So it should be no problem to use IPP on non-intel cpu.

For IPP optimized Code, see more information here:
<http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp/>

All my Best,
Ying

Hello, the link is dead.
"....manufacturers supporting the same instruction set"
What if the instruction set is different?
Looking at some older posts, there is a term called "generic code". I guess that there is a generic version of our IPP code, if the detected cpu is non-Intel, the generic code works. So, a generic version of our IPP code is generated automatically by Intel compiler, is it that ?
0 Kudos
shyaki
Beginner
4,623 Views
Quoting - kkirtac

Hello, the link is dead.
"....manufacturers supporting the same instruction set"
What if the instruction set is different?
Looking at some older posts, there is a term called "generic code". I guess that there is a generic version of our IPP code, if the detected cpu is non-Intel, the generic code works. So, a generic version of our IPP code is generated automatically by Intel compiler, is it that ?
run ippiGetLibVersion() to get the version of IPP on your AMD system.

the generic c code is the worse case. AMD at least supports SSE2.


0 Kudos
Ying_H_Intel
Employee
4,623 Views
Hello kkirtac,

seems one symbol ">" were added in the link. It should be

http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp/

It list all CPU optimized code used in Intel IPP.
for example,
w7 - Optimized for Pentium 4 processors
px - C-optimized for all IA-32 processors

In fact, IPPdetect cpu according to the supporting instruction set of processor (whichsoevermanufacturers). For example, you haveCPU which supportSSE2 instruction then IPP will call "w7" code to run on such processor. If yourcpu don't support SSE2, thenthe general otpimzed code for all IA32-processors will be used. Yes, as shyaki said, the current AMD processor areat least support SSE2 and support same intruction set as Intel Processor, soIPP will use at least "w7" codeon such kind of cpus.

shyaki, thank you.right, to run ippiGetLibVersion(), you will seewhich optimized version of IPPon your cpu.

Thanks
Ying
0 Kudos
Ying_S_Intel
Employee
4,623 Views

You can also run one of Intel IPP sample "cpu info" from sample directory ipp-samplesadvanced-usagecpuinfo to find similiar info.

Thanks,
Ying S
0 Kudos
kkirtac
Beginner
4,623 Views
Thanks for the replies, its all clear now,

i have to ask one more question,

is there a strict constraint to use Intel C++ compiler for optimized solution? Or can we compile our IPP codes with any other c-c++ compiler such as MSVC?

Thank you.
0 Kudos
Vladimir_Dudnik
Employee
4,622 Views

Hello,

you may check with IPP Release Notes for supported software. Yes, Microsoft compiler can be used with IPP as well as gcc under Linux and Mac OS.

Regards,
Vladimir

0 Kudos
Reply