- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 ?
Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 ?
the generic c code is the worse case. AMD at least supports SSE2.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can also run one of Intel IPP sample "cpu info" from sample directory ipp-samplesadvanced-usagecpuinfo to find similiar info.
Thanks,
Ying S
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page