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

Can I use Intel IPP on AMD* CPU?

kkirtac
초급자
7,262 조회수
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 포인트
7 응답
Ying_H_Intel
중재자
7,262 조회수

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 포인트
kkirtac
초급자
7,262 조회수
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 포인트
shyaki
초급자
7,262 조회수
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 포인트
Ying_H_Intel
중재자
7,262 조회수
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 포인트
Ying_S_Intel
직원
7,262 조회수

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 포인트
kkirtac
초급자
7,262 조회수
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 포인트
Vladimir_Dudnik
7,261 조회수

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 포인트
응답