Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.

IPP 7.0 Beta :SSE2 on IPP 7.0

jblogh
Beginner
713 Views
Hi,

You state that SSE2 optimization layers (t7/m7) and 32-bit SSE3 optimization layer (w7) have been removed, but also state that the base 32-bit optimization layer of the library (px) has been compiled for higher performance and now requires a processor that conforms to the SSE2 processor architecture.

So does that mean that CPUs that only support SSE2 are still supported with the same performance as that achieved with IPP 6.1, or to support these processors which are still widely used, we need to stick with IPP 6.1?

Thanks

Jonathan
0 Kudos
41 Replies
Vladimir_Dudnik
Employee
298 Views
I would not agree to exclude SSSE3 optimization as in my vision Intel Core 2 based systems are the majority right now with quickly extended number of Intel Core i7 based systems. Although it is not my level of decision. As we pointed in this thread earlier, we will gather your feedback and review decision made for IPP 7.0 taking into account many different factors which contribute to the particular way we decide to go.

Vladimir
Vladimir_Dudnik
Employee
298 Views
Jonathan,

IPP 7.0 do support SSE2/3 capable processors trhough compiler generated code instead of hand tuned code as it was in IPP 6.1. We analysing performance difference between IPP 6.1 and IPP 7.0 when runs on Pentium 4 processor and it is kind of mixed picture. Some functions got degradation and other functions got substantial performance gain.

Regards,
Vladimir
Thomas_Jensen1
Beginner
298 Views
It is clear, that if IPP 7 does not support high-performance AMD Phenom (max SSE3), then IPP 7 is a useless product to me.

It eats me that IPL/IPP could be used efficiently for graphics tasks on almost any processor, and now only on recent Intel processors.
gol
Beginner
298 Views

If I understand correctly:

SSE2 is now minimum required CPU. Less than this, IPP 7 will not work at all.


Really? So there's no more "generic, guaranteed to work on everything" layer? Well that's totally useless to me. I still write a generic versionof all of my SSE2 code, it's not to use a library that will force us to add SSE2 to the requirements (which, again, isn't realistic for the slow mainstream market).

& what's with replacing hand-written code by compiler code? Isn'tthis the whole point of using IPP, speed?
gol
Beginner
298 Views

IPP 7.0 do support SSE2/3 capable processors trhough compiler generated code instead of hand tuned code as it was in IPP 6.1. We analysing performance difference between IPP 6.1 and IPP 7.0 when runs on Pentium 4 processor and it is kind of mixed picture. Some functions got degradation and other functions got substantial performance gain.


Why not just keep the functions that brought a gain, & keep the handwritten code that was faster?

I mean, sometimes I spend a lot of time writing an SSE version of FPU stuff, only to realize it's slower. I just bite the bullet & keep the FPU version..

More, if IPP was "open", you could make challenges for users to suggest faster code for existing functions. Of course I'm not sure I would like it myself, because that would probably compromise safety/stability (but hey, IPP isn't really bug-free either right now). But really, making a library that was partly generated by a compiler, I don't see the point, unless that compiler is more clever than humans.
Mark_Rubelmann
Beginner
298 Views
If you want open source, maybe it's time to consider AMD's performance libraries. (http://developer.amd.com/cpu/libraries/Pages/default.aspx) The Framewave project is all open source. It doesn't look like it has nearly the same amount of functionality as IPP but if you're like me and are only using IPP's image processing stuff, it appears that Framewave might have you covered. I know I'm going to evaluate it in light of what's going on with IPP 7.

-Mark
dashesy
Beginner
298 Views
I was eagerly waiting for the 7.0 version, to have some bug fixes and feature requests, but I am very disappointed that there is a performance penalty for using the new library for many of our customers! Specially, we are using IPP for video coding and decoding which needs better optimization.
We do suggest to our customers to use the latest processors, but many of them for the time being will not change their systems.
Ying_S_Intel
Employee
298 Views
Dear Customers,

Thank you for offering us your insights into the performance benefits and concerns you have seen regarding our next generation IntelIPP libraries, and the processors on whichyou have been seen. Note that one of the main reasons we released this beta is to capture this valuable feedback and have the opportunity to react to it before theproduct release. We appreciate your use of IntelIPP, and want you to keep using it (for the reasons you chose it in the first place). We also appreciate some of the suggestions you have offered to help us address concerns associated with the size of IPP. We are in the midst of reviewing this and other input we have received regarding the beta release, and are actively exploring our options. Our goal is to offer a product that best addresses areas you have asked us to change, while keeping the features/optimizations you need most. Well plan to send by the middle of August a summary of the path we decide to take. Thanks again for all of the valuable feedback you are sending us.

Sincerely,
Ying Song
Intel Corp.
piet_de_weer
Beginner
298 Views
I came to this forum to see if there's a way to run IPP 5.3 besides 6.x to enable compiling an SSE(1) optimized version of my code. People still seem to be using such old equipment!

I'm working on audio processing, which often runs on a PC that does nothing else. Many people use a very old PC for this for example to run a webradio station. I know that my software is being used for several FM community stations in Africa as well. The faster things run, the more (real-time) processing they can enable, and the more they can increase quality settings.

I dropped non-SSE support last year because non-SSE code is really way too slow (and I don't think there'll be many non-SSE PC's in use anymore). But dropping (or reducing the speed of) SSE2 at this moment is WAY too soon for me - I wouldn't even consider that for the next 4 years or so...
Martin_B_4
Beginner
298 Views
What is the status on this? Are there any plans to reintroduce SSE2/3 support in IPP 7.0, or should we just ignore this release and stick to 6.1 for the next years?
Ying_S_Intel
Employee
298 Views

Dear Customers,

Thanks again for your input.We will provide the summary of the path we decide to take in the upcoming Intel IPP 7.0 product release in few weeks. In the meantime, pleasecontinue toparticipate in theIntel IPP 7.0 beta program to explore other features and provide us your feedback via survey.

Sincerely,
Ying Song
Intel Corp.

j_miles
Beginner
298 Views
Hi Ying,

You mention "upcoming Intel IPP 7.0 product release" - is that a new beta, or the final release (which I would think was way too soon)?

I would also like to voice our concerns over the change in optimizations in IPP 7.0. I can only echo what all other concerned users have been stating: The base "px" 32-bit layer should run on any ia32/x86 compatible processor. In addition, the "hand-tuned" versions of the SSE2 and SSE3 should be kept.
I am, by the way, amazed - and a bit worried on the general quality - that the performance of some parts of the previous releases of IPP could be further improved by a simple re-compilation! That would seem like a natural step of any tuning proces, i.e. to check if a human-written version is at-all faster than a machine-generated (compiled) version...?!

  • Size is (almost) a non-issue for us. We use the static libraries. Basing the choice on the size of the dynamic libraries alone seems quite limited.
  • There are new features in 7.0 that will be important for us but the degrading in performance will likely prohibit us in upgrading loosing out on the performance improvements that indeed will be there for brand new (and upcoming) processors.
  • Our customers are using many different platforms and configurations. Due to the nature of the installations and our products (24/7/365 operations), many are not keen on changing their systems too often. Performance is indeed an issue, but try convincing a customer that an upgrade of a product (i.e. to get some new feature) on a system that was performing well will result in a dramatic degradation in performance. That simply will not be acceptable.
  • It would be nice to know these things a significant time ahead (years) so that migration plans can be made in advance. The time elapsed between the last production of a specific processor-type (and not only Intel processors) and when the change occurs should be much longer. The time span was definitely longer when the Pentium III optimizations was removed (although the heads-up should have come before).
Thanks for listening.

- Jay
Ying_S_Intel
Employee
298 Views

To our valued Intel_IPP Customers,

Thank you very much for providing valuable Intel IPP 7.0 beta feedback regarding SSE2/SSE3 support. Based on your input, we are adjusting our plan for the upcoming Intel IPP 7.0 product releases as follows:

For the Intel IPP 7.0 product release, currently scheduled for release at the end of this year:

- We plan to include the w7* library (for IA-32 Architecture), which was hand-optimized for processors utilizing the SSE2 instruction set (e.g. Intel Pentium 4). The w7 library will also support the SSE3 instruction set.

- We plan to include the m7* libraries (for Intel 64 Architecture), which were hand-optimized for processors utilizing the SSE3 instruction set (e.g. Intel Pentium 4 Processor supporting HT Technology)

- The t7* library (for IA-32 Architecture) which was hand-optimized for processors utilizing the SSE3 instruction set (e.g. Intel Pentium 4 Processor supporting HT Technology) will not be part of the product release.

Soon after the Intel IPP 7.0 product release, we expect to have the px*(C optimized for all IA-32 processors) and mx*(C-optimized for all Intel 64 platforms) libraries offered in as a separate download to support processors utilizing pre-SSE2 instruction sets (e.g. Intel Pentium III.)

All products, computer systems, specifications, functionality descriptions, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice. Do not finalize a design with this information.

Thanks again for your time and effort in helping us best serve your needs. Please also check out other new features offered in the latest IPP 7.0 beta and provide any additional feedback you may have.

Sincerely,

The Intel IPP team

*Check this article for more reference

oxydius
New Contributor I
298 Views
That's great news Ying. Thanks for taking our feedback into consideration.
We will eagerly be awaiting the next beta update.
Mark_Rubelmann
Beginner
298 Views
Wonderful! Thank you so much! It's great to see that you're listening to your customers.
dashesy
Beginner
298 Views
Just wanted to say thank you!
j_miles
Beginner
298 Views
Hi Ying,

Now that the final 7.0 is available, I am curious as to when the separate px/mx libraries will be available?

Thanks.


- Jay
Ying_S_Intel
Employee
298 Views
Hi Jay,

The seperate px/mx libraires will be availble in the next release update later this month. Please stay tuned.

Thanks,
Ying
Ying_S_Intel
Employee
298 Views

Dear Customers,

As you may notice, the Intel IPP px/mx libraries are now available in the latest Intel IPP 7.0.1a release, these libraries are separate downloads, please go to Intel Registration Center to get these separate downloads.

Please note, this update release only added px/mx libraries. If you have installed Intel IPP 7.0 and do not need these libraries, you can skip this release update. And our next release update with more feature enhancement and bug fixes is scheduled sometime in early Q1' 2011.

Thanks,

Ying

Royi
Novice
221 Views

It seems that IPP 8.0 also crashes on AMD Phenom II CPU.

Why is that?

Igor_A_Intel
Employee
221 Views

Hi Royi,

let's continue discussion on this in the another thread you've created - I've already asked you several questions there.

Regards, Igor

Reply