- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm a developer from OEM tools in IDC. We are using Intel® Integrated Performance Primitives (Intel® IPP) library in one of our tools. I'd like to know if IPP supports AMD A9-9430 processor? and if so, from which IPP version? currently we are using 8.1 version and a failure occurs on IPP init function (on HP platform).
Thanks,
Hanit
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Hanit,
could you be more specific and describe the "failure"? IPP doesn't differentiate cpus by vendor - Intel or non-Intel. It differentiates them by supported instruction sets. A9 supports AVX2 - therefore AVX2 code should be dispatched on it. The only thing is different - ippInit should return status "NonIntelCpu" - but this means nothing - everything should work correctly.
regards, Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Igor,
I'm a developer from Hanit's team.
IPPInit() is exactly the function we were facing issue with. We thought that the only return value that indicates a success status is ippStsNoErr.
Can you please describe the optional return values for this function and what are the return values that indicate a failure?
Thank you,
Gal
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan met de Pet wrote:
Can you please describe the optional return values for this function and what are the return values that indicate a failure?
Thank you,
Gal
Fix:
Can you please describe the optional return values for this function and what are the return values that indicate a success?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gal,
all values below zero are errors, zero means ok status, all values above zero are just warnings (so the function performs the action for which it's intended but reports some minor issues). For ippInit() there are only 2 possible statuses - ippStsNoErr and ippStsNonIntelCpu (that warns you that IPP is optimized for Intel architecture and may not show the best performance for non-Intel cpus).
Regards, Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Igor,
Thanks a lot for your answers!
So this function can't have any errors. Correct?
What about ippStsNotSupportedCpu? Can't it be returned? If so, is it a failure?
Thank you,
Gal
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It can't be returned by ippInit, it can be returned only by ippInitCpu() or its new analogue - ippSetCpuFeatures().
Regards, Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have received by ippInit() also ippStsWaterfall = 43, (* Cannot load required library, waterfall is used. *)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ladislav,
you are talking about dynamic linking with IPP, when ippInit() doesn't make sense (as it is performed automatically at dllMain() level). Initial discussion was (I think) about static linking. Dispatching mechanisms are different for static and dynamic libraries. With "normal" installation you will not face with ippStsWaterfall - this status is returned in case of some cpu-specific dll missing in the search path,- for example detected arch is AVX2, but AVX2 (h9 or l9) dll has not been found, and IPP dynamic dispatcher is trying to load "lower" dll using waterfall mechanism - first AVX, then SSE42, etc. - in this case ippStsWaterfall warning is returned.
regards, Igor
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page